面向对象的三个特性

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wangyunzhao007/article/details/80381571

一,封装

解释:每个对象都包含它能进行操作所需要的所有信息,这个特性成为封装,因此对象不必依赖其他对象来完成自己的操作。

好处:1.减少耦合。2.类内部的实现可以自由的修改。3.类具有清晰的对外接口。

二,继承

解释:

1.对象的继承代表了一种“is-a”的关系,如果两个对象A和B,可以描述为'B是A',则表明B可以继承A。

2.继承者还可以理解为是对被继承者的特殊化,继承者除了继承的特性外,还有自己的特性。

3.如果子类继承于父类,第一,子类拥有父类非private的属性和功能;第二子类具有自己的属性和功能,即子类没有的属性和功能;第三,子类还可以以自己的方式实现父类的功能(方法重写);

4.继承是一种类与类之间强耦合的关系。

三,多态

解释:多态表示不同的对象可以执行相同的动作,但是要通过他们自己的实现代码来执行。

注意:

第一,子类以父类身份出现。

第二,子类在工作时以自己的方式来实现。

第三,子类以父类的身份出现时,子类特有的属性和方法不可以使用。


虚方法:为了使子类的实例完全接替来自父类的类成员,父类必须将该成员声明为虚拟的,这是通过在该成员的返回类型之前添加virtual关键字来体现。

方法重写:子类可以选择使用override关键字,将父类实现替换为它的自己的实现,这就是方法重写Override,或者叫做方法覆盖。

四,其他一些面向对象基本定义:

对象:是一个自包含的实体用一组可是别的特性和行为来标识。世界万物皆为对象。

类:具有相同的属性和功能的对象的抽象的集合。

实例:就是一个真实的对象。

构造方法:又叫构造函数,就是对类进行初始化。构造方法与类同名,无返回值,也不需要void,在new的时候调用。所有的类都有构造方法,如果你不编码默认空的,如果你定义了构造方法,默认的构造方法就会失效了。

Cat cat = new Cat();

其中new后边的Cat()就是构造方法,在创建一个具体的事例的时候调用。

方法重载:方法重载提供了创建同名的多个方法的能力,但这些方法需使用不同的参数类型。

举例:

class Cat
{
      private string name="";
      public Cat(String name)
      {
          this.name = name;
      }
      public string Shout()
      {
             return "我的名字叫"name+"喵喵";
      }
}


定义了Cat类的构造方法,参数是一个字符串,但是如果传值参数类型不符合呢,是个空的怎么办呢?就用到了重载。方法重载时,方法名必须相同,但参数类型或个数必须要有所不同。方法重载就是在不改变原来方法的基础上,新增加功能。看下边的代码。

class Cat
{
      private string name="";
      public Cat(String name)
      {
          this.name = name;
      }
      public Cat()
      { 
           this.name = "无名";
      }
       public string Shout()
      {
             return "我的名字叫"name+"喵喵";
      }
}





猜你喜欢

转载自blog.csdn.net/wangyunzhao007/article/details/80381571