首页 > 代码库 > 面向对象的特点封装、继承、多态

面向对象的特点封装、继承、多态

一。封装

      封装是将数据和方法集成到一个单元中我们称作类。封装的概念比较好理解,那么封装的用途呢?一般来说封装可以防止代码被我们

无意中破坏,通过属性和访问权限来控制。

二。继承

     感念就不多说了。继承主要是为了提高代码的复用性。

     1.一般类继承。一个子类只能继承一个父类。

     2.抽象类继承。一个子类只能继承一个抽象类,而且必须实现抽象类中的所有抽象方法。

     3.接口继承。一个子类可以继承多个接口,而且必须实现接口的所有内容。

     继承的特点:

    1. 继承是可传递的。
    2. 派生类应当是对基类的扩展。
    3. 构造函数和析构函数不能被继承。

     继承需要注意的地方:

     对象在实例化的时候会首先初始化父类的字段和方法然后再初始化子类的字段和方法而且这个过程是按字段的顺序来分配内存空间的,

不同的地方在于在初始化子类字段的时候会将和父类同名的字段加以区别,而初始化子类方法的时候会将同名方法进行重写。下面举个例子

来说明一下。

 public class dog    {        public string type = "dog";        public virtual void GetType()        {            Console.Write("I am a {0}", type);        }    }    public class bird : dog    {        public string type = "bird";        public override void GetType()        {            Console.Write("I am a {0}", type);        }    }            dog d = new bird();            d.GetType();            Console.Write("i am a {0}", d.type);
View Code

上诉代码大家可以自行验证一下输出结果。

三。多态

     一般来说多态是通过接口和抽象类来实现的,多个子类对接口、抽象类方法的不同实现,使得在使用接口和抽象类时有了不同的实现方式。

多态比较好理解。这里就不做多余说明了。

面向对象的特点封装、继承、多态