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

继承

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

定义类的时候不指定父类,则父类是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://www.daobk.com/post/40.html

分享给朋友:

“继承” 的相关文章

字符串的处理

字符串的处理

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

构造函数

构造函数

构造函数用来创建对象,并且可以在构造函数中对对象进行初始化。构造函数是用来创建对象的特殊函数,函数名和类名一样,没有返回值,连void都不用。构造函数可以有参数,new对象的时候传递函数参数即可构造函数可以重载,也就是有多个参数不同的构造函数。如果不指定构造函数,则类有一个默认的无参构造函数。如果指...

常量

常量

const常量。常量名要大写。一定不会变化的值才能声明为常量。常量一旦声明,下面就不可更改(再赋值)。    class Program     {     &nbs...

命名空间namespace

命名空间namespace

namespace(命名空间),用于解决类重名问题,可以看做“类的文件夹”。在代码中使用其他类的时候需要using类所在的namespace。System.Collections.ArrayList,快速引入的方法,右键→解析(Ctrl+.)。为什么使用Convert、Console等类不需要自己写...