汉企C#面向对象——继承Practice

 class Dianqi //创建电器类:父类
    {
        private string _Dianqimingzi;

        public string Dianqimingzi
        {
            get { return _Dianqimingzi; }
            set { _Dianqimingzi = value; }
        }
    }
  class Computer:Dianqi //创建电脑类:子类
    {
        private string _Diannaomingzi;

        public string Diannaomingzi
        {
            get { return _Diannaomingzi; }
            set { _Diannaomingzi = value; }
        }
    }
class Lenovo:Computer  //创建Lenovo类:子类的子类
    {
        private string _Lname;

        public string Lname
        {
            get { return _Lname; }
            set { _Lname = value; }
        }
    }
namespace 继承Practice
{
    class Program
    {
        static void Main(string[] args)
        {   //电器:父类
            Dianqi dianqi1 = new Dianqi();
            dianqi1.Dianqimingzi = "电器";
            Console.WriteLine("电器的名字为"+dianqi1.Dianqimingzi);
            //电脑:子类
            Computer diannao = new Computer();
            diannao.Diannaomingzi = "电脑";
            Console.WriteLine("电脑的名字为"+diannao.Diannaomingzi);
            //继承了电器属性的电脑
            diannao.Dianqimingzi = "继承了电器属性的电脑(子类继承了父类的电器名字的属性)";
            Console.WriteLine("电脑子类继承电器父类后的属性为      "+diannao.Dianqimingzi);

            //Lenovo:子类的子类
            Lenovo le = new Lenovo();
            le.Lname = "联想电脑";
            Console.WriteLine("Lenovo电脑的名字为   "+le.Lname);

            //继承了电脑属性的Lenovo
            Lenovo le1 = new Lenovo();
            le1.Diannaomingzi = "联想电脑";
            le1.Dianqimingzi = "电器下的电脑为联想";
            Console.WriteLine("电脑属性的名字为   "+le1.Diannaomingzi);
            Console.WriteLine("电器属性的名字为   " + le1.Dianqimingzi);

            //子类转父类:子类继承父类,一个子类只能有一个父类,一个父类可以有多个子类。
                //子类具备父类的功能和属性,父类不具备子类的。
                //子类可以转化为父类,但父类不具备子类的属性和方法。
                //比如 猪 可以叫生物, 但生物不可以叫猪。
            Computer Com = new Computer();//子类电脑
            Dianqi DCom = Com;//子类电脑转换为父类电器
            DCom.Dianqimingzi = "子类电脑转换为父类电器后的名字";
            Console.WriteLine(DCom.Dianqimingzi);

            //父类可以转换为子类,但是有前提条件。   前提:父类之前的本质为子类,才可以转换为对应的子类。
            Computer aaa = new Computer(); //创建一个子类aaa
            Dianqi ddd = aaa;//将子类aaa转换为父类ddd
            Computer xxx = (Computer)ddd; //将父类ddd转换为子类xxx
            xxx.Dianqimingzi = "父类转换为子类";
            Console.WriteLine(xxx.Dianqimingzi);

            //下面为不符合前提的情况,代码无错,运行会出错。
            //Dianqi ddd1 = new Dianqi();
            //Computer xxx1 = (Computer)ddd1;
            //xxx1.Dianqimingzi = "父类转换为子类(不符合前提的情况)";
            //Console.WriteLine(xxx1.Dianqimingzi);
            Console.ReadLine();
        }
    }
}
时间: 2024-10-17 07:53:04

汉企C#面向对象——继承Practice的相关文章

汉企C#面向对象——继承

public class Shengwu { private string _Name; public string Name { get { return _Name; } set { _Name = value; } } protected string Old="1231"; public void shengming() { Console.WriteLine("生物都是有生命的"); Console.WriteLine(Old); } } class do

(一)关于面向对象----继承

(一)关于面向对象----继承 接触面向对象许久了,对于继承这一块也确实琢磨了一段时间,搜集各种资料和网站,也未能得到使自己满意的,并能快速理解的继承知识,于是对他们归类,并得出自己的总结. 先说说继承是什么吧?也许我们最早接触有关继承的应该是"遗产"??也许电视剧看多了,总有家族为了这玩意儿整的你死我活,确实听看不下去的哈,但是对于咱大JS而言,可就变得十分和蔼,可亲.毕竟没有人来争夺,也不会有任何事故,最多来些许bug等等.废话不多说,进入正题!! 1.扩展原型对象继承:往原型对象

Php面向对象 – 继承和重写

继承: php中,通过在类上,使用特殊的操作达到目的. 通过在定义类时,利用extends来指明当前类对象继承那个类的对象. 例子: class C { public  $p_c =  "value c"; } class D extends C { public  $p_d = "value d"; } $o =  new D; var_dump($o->p_c) var_dump($o->p_d) 输出:string(7) "value c

Java面向对象㈡ -- 继承与多态

Java的继承是通过extends和implement来实现的,Java不支持多继承,但是Java支持多层继承以及多实现(接口).Java继承有一个关键字super是用来指向父类.Java继承衍生出覆盖的概念.覆盖被用来支持多态.实际开发中Java通常继承于抽象类,实现于接口.如果不希望一个类被继承,或者一个方法被覆盖,或者一个成员变量被改变,就可以用final修饰.这里只说明两个问题:1,重载和覆盖的区别重载和覆盖的区别:重载发生在同一个类之中,重载要求函数名相同,参数不同(参数个数||参数类

2016-9-28第一天汉企

毕业好久了,又开始学习IT了,后悔大学没有认真对待除了专业外的一些不重要的课程,其实大学开的每一门课都是有意义的,比如Dreamweaver,ps,还有个做动画的课都忘记叫什么了 ,貌似还有3dmax,作业都是让学设计(其中前女友还帮我做过一个小flsh虽然那时她不在意我,不过后来也分了)的做的,还逃课,这不又回到电脑的IT了,我也不想成为什么高级软件/硬件工程师,我就是带着一个兴趣爱好来的,也许有一天它会成为我的养家饭,但是我还是把它当作兴趣,毕竟我还喜欢法律(嘿嘿不告诉你why).好了废话不

淄博汉企学习的第一天

在淄博汉企培训的第一天结束了,感觉时间过得挺快.上午主要是老师同学相互介绍自己,十张桌子上坐了8个来自淄博各地的男同学.下午的课程是听了计算机系统基础,这部分内容主要是了解计算机系统及发展过程.总结如下: 一.计算机的软硬件概念 1.硬件是计算机的实体,如主机,外设等 软件包括系统软件,应用软件 2.计算机的解题过程 高级语言程序-翻译-目标程序-运行-结果 二.计算机系统的层次结构 高级语言 虚拟机器M3-汇编语言 虚拟机器M2-机器语言 实际机器M1-微指令系统 微程序机器M0 三.计算机体

关于 JS 面向对象继承属性和方法的小例子

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title></title> </head> <body> <h1>关于 JS 面向对象继承属性和方法的小例子</h1> </body> </html> <script> //人的构造函

黑马程序员-OC面向对象继承关系和组合关系笔记

继承关系是描述类和类之间的关系,两个类分别称为子类和父类,子类继承了父类,子类就拥有了父类的属性和方法: 继承的关系特点描述出来就是:** "是" **  (例如:学生类 是 人类) 组合关系描述的语句是:**** "拥有" ***  (例如:学生有成绩这个属性,而成绩属性本来就是一个成绩类的对象 ) 继承示例代码: #import <Foundation/Foundation.h> //Animal类的声明 @interface Animal : NS

正式进入汉企1027,今天的第一堂课,对接下来四个半月的计划和目标!!!

说实话,计算机行业之前从来没有接触过,也没想过自己会选择这个行业,以前听说过IT,但总感觉离着自己很远,身边也没从事这行业的朋友,没想到今天的我和一帮怀着同样梦想的同学都坐在同一间教室,了解着PHP.              我虽然年龄不大,但是有着好几年的社会经验,随着时间的逝去,年龄的增长,我突然意识到,该为自己的以后考虑了,既然来到这个世界,那就要好好把握,总不能浑浑噩噩的就把青春耗费了,一转眼老了,想干点什么可能就干不动了.              我有好几个女同学都结婚了,小时候都