标签:
继承:
一、什么是继承
概念:父亲有的东西,并且允许继承,所有孩子就都会有
一个父类可以拥有多个子类
一个子类只能拥有一个父类
二、父子之间的转换
子类可以转换成父类,这个父类只能转换成之前的子类
新建一个项目,再添加三个类,其中一个用作父类,另外两个用作子类;
父类:
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace 继承 { class fu { //概念:父亲有的东西,并且允许继承,所有孩子就都会有 // 一个父类可以拥有多个子类 //一个子类只能拥有一个父类 public void father() //在父类中写一个方法 { Console.WriteLine("外奥卡木图北京"); } private string _phone;//私有的成员变量,不可直接调用 public string phone //公开的,用来调用成员变量的方法 { get{return _phone;}//取值,返回一个值 set {_phone = value;}//把获取到的值给成员变量赋值 } } }
子类1:
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace 继承 { class zi:fu //在子类中类名后面冒号加父类的类名,下面什么都不用写,就可以直接将父类中写的方法继承过来 { public void dog() { Console.WriteLine("萨摩狗头炫"); } } }
子类2:
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace 继承 { class nv : fu //在子类中类名后面冒号加父类的类名,下面什么都不用写,就可以直接将父类中写的方法继承过来 { } }
项目:
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace 继承 { class Program { static void Main(string[] args) { fu s = new fu();//实例化一下fu这个类,s s.father();//s直接点出这个类中的属性,显示出打印的那句话 s.phone = "手机";//给父类中这个属性赋值 zi ss = new zi();//实例化一下zi这个类,ss ss.father();//因为zi是fu这个类的子类,继承了fu的东西,所以,ss也可以直接点出父类中的属性 ss.phone = "苹果";//给zi这个类中的phone属性添加赋一个值,和父类中方法完全继承,属性可以自己单独添加 nv sss = new nv();//实例化一下nv这个类,sss ss.father();//因为nv是fu这个类的子类,继承了fu的东西,所以,sss也可以直接点出父类中的属性 sss.phone = "三星";//给子类中属性赋值,子类与父类之间的方法是完全继承的,属性可以自己单独设置 fu a = (fu)ss;//可以将子类转换为父类 a.father();//转换后的子类可以直接点出父类中的属性,而无法点出子类原先的属性 nv f = (nv)a;//转换为父类的子类无法再转换为其他子类, f. //以此写法转换后点不出原先子类的属性 zi b = (zi)a;//只可以将转换成父类的子类再转换回原来的子类 b.dog();//转换回来的子类就可以点出原先属于自己的属性 b.father();//以及父类中的属性 zi c = (zi)s;//也可以将父类转换为子类 c.dog();//转换为子类的父类可以直接点出子类中的属性及父类中的属性,因为子类对父类拥有继承 Console.ReadLine(); } } }
标签:
原文地址:http://www.cnblogs.com/zyg316/p/5595493.html