继承:
一、什么是继承
概念:父亲有的东西,并且允许继承,所有孩子就都会有
一个父类可以拥有多个子类
一个子类只能拥有一个父类
二、父子之间的转换
子类可以转换成父类,这个父类只能转换成之前的子类
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace 继承 { class Program { static void Main(string[] args) { Fly f = new Fly(); //实例化 f.Fling();
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace 继承 { class Fly { /// <summary> /// 飞行 /// </summary> public void Fling() { Console.WriteLine("我会飞行!"); } private string _chibang; public string Chibang { get { return _chibang; } set { _chibang = value; } } } }
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace 继承 { class Plane : Fly // plane 继承fly 子类继承父类 一个父类可以有多个子类 但是子类只能有一个父类 { public void Chi() { Console.WriteLine("汽油和柴油"); } } }
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace 继承 { class Bird : Fly // bird 继承fly 子类继承父类 一个父类可以有多个子类 但是子类只能有一个父类 { public void Chi() { Console.WriteLine("虫子和谷子"); } } }
f.Chibang = "用来飞的,什么样都行,只要能飞"; Bird b = new Bird(); b.Fling(); b.Chibang = "羽毛的"; b.Chi(); Plane p = new Plane(); p.Fling(); p.Chibang = "合金的"; p.Chi(); //// //// 子类可以转换成父类,这个父类只能转换成之前的子类 //// 子类和子类之间没办法转换 //// 父类可以转化成子类 ///// Fly f2 = (Fly)b; f2.Fling(); Bird b2 = (Bird)f2; b2.Chi(); Plane p2 = (Plane)f2; p2.Chi(); Bird b3 = new Bird(); Fly f3 = (Fly)b3; Console.ReadLine(); } } }
访问修饰符:
public : 公共的,引用命名空间即可随意访问。
private : 私有的,只有在声明它的类和结构中才可以访问。
Internal : 内部的,同一个程序集中所有的类都可以访问,程序集就是命名空间。
Protected : 受保护的,只能在他自己和自己的子类中才能访问。