当前位置:首页 > C#学习 > 正文内容

继承

小道7年前 (2018-08-20)C#学习5907

定义类的时候不指定父类,则父类是Object类。Object类是任何类的直接或者间接父类。

    class Program
    {
        static void Main(string[] args)
        {
            中国人 c = new 中国人();
            c.Name = "王小二";
            c.Age = 15;
            c.功夫();//调用 中国人类 功夫 方法,输出结果是:打!
            c.户口 = "北京";
            c.SayHello();//调用 中国人类 SayHello 方法,输出结果:王小二

            韩国人 k = new 韩国人();
            k.Name = "朴小姐";
            k.Age = 25;
            k.吃饭 = "香";
            k.饭量();//调用 韩国人类 饭量 方法,输出结果:饭量小

            Person p = c;//可以将子类的值 赋值给 父类,  系统要一个人,给了一个中国人,可以的。
            p.SayHello();//调用 中国人类 SayHello 方法,输出结果:王小二
            // 中国人 c1 = p;  //父类的值 无法赋值子类。   系统要一个 中国人,但是你给一个人,不行的。
            中国人 C2 = (中国人)p;//可以强制转换,但是可能会报错,程序员要对 结果负责。  可以将一个人强制转换成 中国人。
            Console.ReadKey();
        }
    }
    //Object是所有类的基类。没有指定父类那么父类就是Object.
    class Person  //  可以写成    class Person : Object 默认不显示
    {
        public int Age { get; set; }
        public string Name { get; set; }
        public void SayHello()
        {
            Console.WriteLine("{0}",this.Name);
        }
    }
    class 中国人 : Person //继承,用:分割。中国人这个类可以继承Person 这个类的所有属性、方法。
    {
        public string 户口 { set; get; }
        public void 功夫()
        {
            Console.WriteLine("打!");
        }
    }
    class 韩国人 : Person
    {
        public string 吃饭 { set; get; }
        public void 饭量()
        {
            Console.WriteLine("饭量小");
        }
    }

输出结果:

image.png

扫描二维码推送至手机访问。

版权声明:本文由小道发布,如需转载请注明出处。

本文链接:https://daobk.com/post/40.html

分享给朋友:

“继承” 的相关文章

​while语句:不断要求用户输入一个数字(假定用户输入的都是正整数)

​while语句:不断要求用户输入一个数字(假定用户输入的都是正整数)

while语句:不断要求用户输入一个数字(假定用户输入的都是正整数),当用户输入end的时候显示刚才输入的数字中的最大值。设一个变量int max,初始值为0,用户每输入一次就把用户输入的和max比较一下,如果输入的比max大,则让max等于用户输入。    ...

字符串的处理

字符串的处理

C#中单个字符用单引号包含就是char类型,('a'),单引号中放且只能放一个字符。单个字符也可以表示为字符串,还可以有长度为0的字符串使用s.Length属性来获得字符串中的字符个数string可以看做是char的只读数组。char c = s[1];。C#中字符串有一个重要的特性...

函数的ref、out参数

函数的ref、out参数

函数参数默认是值传递的,也就是“复制一份”ref必须先初始化,因为是引用,所以必须先“有”,才能引用,而out则是内部为外部赋值,所以不需要初始化,而且外部初始化也没用。ref应用场景内部对外部的值进行改变,out则是内部为外部变量赋值,out一般用在函数有多个返回值的场所。  ...

面向对象版聊天机器人

面向对象版聊天机器人

机器人有不同的名字、维护自己的FullLevel,可以SayHello(我叫***),可以喂食(Eat(int foodCount)),可以对它说话(Speak),对异常情况(错误的喂饭数字,喂的太多撑死了)进行处理,有两个机器人供选择,一开始通过1、2数字选择聊天机器人。  &...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。