2月1日 c#面向对象

面向对象的核心概念

(1 )封装

封装的类=数据+对此数据所进行的操作(即属性+方法)

通俗的说,封装就是:包起外界不必需要知道的东西,只向外界展露可供展示的东西。

(2)抽象

在使用面向对象的方法设计一个软件系统时,首先就要区分出现实世界的 事物所属的类型。

分析问题的思路:

首先将将实物的共性全抓出来。(也就是对它进行抽象)

然后在逐个分析异性。(也就是具体)

(3)继承

不是我们认为的遗传的继承, 而是包含的意思。

(4)多态

基类拥有的特性,子类一定有,

用抽象的类编程 。

 

 

2 类与对象

类是面向对象编程的 基本单元。(一切皆为对象 )

只有声明为public的变量和函数可以被外界调用,其余声明为private的变量和函数是私有的,只能由自己的类使用。

 

案例1、

求游泳池的面积:

class yongchi
    {
        public int r;
        public double zhouchang()
        {
            double c = 2 * 3.14 * r;
            return c;
        }
        public double mianji()
        {
            double s = 3.14 * r * r;
            return s;
        }
    }
    class Program
    {
        static void Main(string[] args)
        {
            yongchi small = new yongchi();
            yongchi big = new yongchi();

            Console.Write("游泳池的半经");
            small.r = Convert.ToInt32(Console.ReadLine());

            Console.Write("广场的半经");
            big.r = Convert.ToInt32(Console.ReadLine());

            Console.WriteLine("游泳池的周长为" + small.zhouchang());
            Console.WriteLine("游泳池的面积为" + small.mianji());

            Console.WriteLine("广场的周长为" + big.zhouchang());
            Console.WriteLine("广场的面积为" + (big.mianji() - small.mianji()));

        }
    }

效果图:

2月1日 c#面向对象

案例2、

狗咬狗

class Dog
    {
        public string Name;
        public int HP=100;
        public void Bark(Dog op)
        {
            Console.Write(Name+"咬了"+op.Name+"一口,");
            op.HP -= 5;
            Console.Write(op.Name+"剩余血量为"+op.HP+"\n");
        }
    }
    class Class1
    {
        static void Main(string[] args)
        {
            Dog d1=new Dog();
            Dog d2=new Dog();

            d1.Name = "旺财";
            d2.Name = "大黄";
            d1.Bark(d2);
            d2.Bark(d1);
            d1.Bark(d2);
            d2.Bark(d1);
        }
    }

效果图:

2月1日 c#面向对象

案例3、

 class Ren
    {
        public string Name;
        private int Height;
        private int Weight;

        public void H1(int h)
        {
            if (h <= 0 || h >= 300)
            {
                Console.WriteLine("你输入的身高有错误");
            }
            else
            {
                Height = h;
            }
        }
        public void W1(int w)
        {
            if (w <= 0 || w >= 1000)
            {
                Console.WriteLine("你输入的体重有错误");
            }
            else
            {
                Weight = w;
            }
        }
        public void Speak()
        {
            Console.WriteLine("我叫" + Name + ",体重" + Weight + "千克,身高" + Height + "厘米");
        }
        public void yundong()
        { 
        }
    }
    class Class2
    {
        static void Main(string[] args)
        {
            Ren r1 = new Ren();

            r1.Name = "小明";
            Console.Write("请输入身高:");
            int h1 = Convert.ToInt32(Console.ReadLine());
            Console.Write("请输入体重:");
            int w1 = Convert.ToInt32(Console.ReadLine());
            r1.H1(h1);
            r1.W1(w1);

            r1.Speak();

        }
    }

效果图:

2月1日 c#面向对象

2月1日 c#面向对象

上一篇:Windows phone 8.1布局控件


下一篇:C# 操作注册表--找不到新建的键与值