世袭类实例澳门太阳集团登录网址

在存活类(基类、父类)上树立新类(派生类、子类)的管理进度称为世襲。派生类能自动获得基类的除此而外构造函数和析构函数以外的富有成员,能够在派生类中增多新的品质和方法扩充其效果。

一、封装:
澳门太阳集团登录网址,  封装是达成面向对象程序设计的率先步,封装正是将数据或函数等集中在多个个的单元中(大家称之为类卡塔尔国。棉被服装进的对象日常被叫做抽象数据类型。

一而再一而再再而三的风味:

卷入的意义:
  封装的意思在于保险照旧防守代码(数据卡塔 尔(英语:State of Qatar)被大家不识不知中损坏。在面向对象程序设计中数量被看成是叁在那之中坚的要素何况和平运动用它的函数结合的超细致,进而维护它不被别的的函数意外的修改。

可传递性:C从B派生,B从A派生,那么C不仅仅世襲B也世襲A。

装进提供了三个得力的路线来保险数量不被意外的损坏。相比相当大家将数据(用域来兑现卡塔尔在前后相继中定义为公用的(public卡塔尔大家将它们(田野先生s)定义为民用的(privat卡塔尔在众多方面会更加好。私有的多少能够用二种艺术来直接的支配。第黄金年代种情势,大家选拔古板的存、取措施。第两种方法我们用属性(property卡塔 尔(英语:State of Qatar)。

单一性:只可以从多少个基类中世袭,不能够同期继续八个基类继承中的访谈修饰符base和this关键字基类的构造函数和析构函数不可能被三番五遍的。但能够利用主要字base来一连基类的构造函数。

动用质量不仅能够决定存取数据的合法性,同不常候也提供了“读写”、“只读”、“只写”灵活的操作方法。

C#中的base关键字表示基类,使用base关键字能够调用基类的构造函数、属性和措施。

做客修饰符:

namespace InheritanceApplication
{
   class Shape 
   {
      public void setWidth(int w)
      {
         width = w;
      }
      public void setHeight(int h)
      {
         height = h;
      }
      protected int width;
      protected int height;
   }

   // 派生类
   class Rectangle: Shape
   {
      public int getArea()
      { 
         return (width * height); 
      }
   }

   class RectangleTester
   {
      static void Main(string[] args)
      {
         Rectangle Rect = new Rectangle();

         Rect.setWidth(5);
         Rect.setHeight(7);

         // 打印对象的面积
         Console.WriteLine("总面积: {0}",  Rect.getArea());
         Console.ReadKey();
      }
   }
}
Private:只有类本身能存取.
Protected:类和派生类可以存取.
Internal:只有同一个项目中的类可以存取.
Protected Internal:是Protected和Internal的结合. 
Public:完全存取.

 

二、世袭:世襲主要达成重用代码,节省开销时间。
1、C#中的世袭契合下列准绳:
继续是可传递的。要是C从B中派生,B又从A中派生,那么C不仅仅一而再再而三了B中声称的积极分子,同样也一连了A中的成员。Object类作为全体类的基类。
派生类应当是对基类的扩张。派生类能够加多新的分子,但无法除去已经三翻五次的积极分子的定义。
构造函数和析构函数不能被接续。除了这些之外的别的成员,无论对它们定义了怎么着的拜见方式,都能被三翻五次。基类中成员的拜见方式只好决定派生类能或无法访谈它们。
派生类假如定义了与世襲而来的成员同名的新成员,就足以覆盖已持续的分子。但这并不因为那派生类删除了那么些成员,只是不可能再拜望这么些分子。
类能够定义虚文法、虚属性以至虚索引提示器,它的派生类能够重载那一个成员,进而实现类能够展现出多态性。
2、new关键字
   假使父类中宣示了二个未曾friend修饰的protected或public方法,子类中也声称了同名的形式。则用new能够隐瞒父类中的方法。(不建议利用卡塔 尔(英语:State of Qatar)
3、base关键字
   base 关键字用于从派生类中会见基类的分子:

  • 调用基类春季被其他措施重写的措施。
  • 点名成立派生类实例时应调用的基类构造函数。

三、多态
  1、多态:同生龙活虎操作功能于不相同的靶子,能够有例外的解释,发生不相同的施行结果。在运维时,能够经过指向基类的指针,来调用达成派生类中的方法。
  编写翻译时的多态性:
  编写翻译时的多态性是经过重载来促成的。对于非虚的成员来说,系统在编写翻译时,依照传递的参数、再次回到的品类等音讯决定实现何种操作。
  运营时的多态性:
  运营时的多态性就是指直到系统运作时,才依据真实情形决定完成何种操作。C#中,运行时的多态性通过虚成员完成。
  编写翻译时的多态性为大家提供了运行速度快的特色,而运转时的多态性则带给了莫斯科大学灵活和抽象的表征。
  2、达成多态:
接口多态性。
持续多态性。
由此抽象类达成的多态性。
  3、override关键字:
   重写父类中的virtual修饰的不二秘诀,实现多态。

发表评论

电子邮件地址不会被公开。 必填项已用*标注