1

7.章 类和集成

☆:为重点

★:为科普

△:注

▲:术语

△△:警告

●:本章知识点

●●:结束本章

○:代码

□:本节知识点

■:本节知识点(分)

●:7.1类继承

通过继承我们可以定义一个新类,新类纳入一个已经声明的类并进行扩展。

□:可以使用一个已经存在的类作为新类哦对基础。已存在的类成为基类(base class),新类成为派生类(derivde class)。派生类成员如下:

■:本身声明中的成员:

■:基类的成员:

 

□:要声明一个派生类,需要在类名后面加入基类规格说明。基类规格说明有冒号和后面跟着用作基类的类名称组成。派生类被描述为直接继承自列出的基类。

 

□:派生类扩展的它的基类,因为它包含了基类的成员,加上在它本身声明中新增功能。

 

□:派生类不能删除它所继承的任何成员。

△:例如,下面展示了名为OtherClass的类的声明,它继承名称为SomeCLass的类:

                         基类描述符

                              ↓

○: class OtherClass : SomeClass

{                          ↑   ↑

//代码块       冒号 基类

}

 

 

 

●●:结束本节

 

●:7.2访问继承的成员

继承的成员可以被访问,就像他们是派生类自己生命的一样(继承的结构有些不同)

例如,下面的代码声明了类SomeClass和OtherClass。这段代码显示OtherClass。的所个成员都能被无缝地访问,无论它们在基类中声明的还是在派生类中声明的;

 

□:Main创建派生类OtherClass的一个对象。

□:Main中接下来的两行调用基类中的Method1,先是使用基类的Field1,然后是派生类的Field2.

□:Main中后续的两行调用派生类中的Method2,再次先使用基类的Field1,然后是派生类的Field2.

 

○:Class SomeClass   //基类

{

public string Field1="base class field";

         public void Method1(string value) {

Console.WriteLine("Base class__met1;{0}",value);

         }

}

○: class OtherClass:SomeClass    //派生类

{

public string Field2="der class field";

public void Method2(string value) {

Console.WriteLine("der class__met2;{0}",value);

         }       

}

 

○:class program{

static void Mian(){

 OtherClass oc=new OtherClass();

 oc.Method1(oc.Field1);

 oc.Method1(oc.Field2);

 oc.Method2(oc.Field1);

 oc.Method2(oc.Field2);

                   }

         }

以上三个代码结果

 

ase class__met1; base class field

ase class__met1; der class__met;

der class__met2; base class field

der class__met2; der class__met;

 

 

●●:结束本节

●:7.3所有类都是派生自object类

 

△:除了特殊的类object,所有的类都是派生类,即使它们没有基类规格说明。类object是唯一的非派生类,因为它是继承层次结构的基础。

 

△:没有基类规格说明的类隐式地直接派生自类object。不加基类规格说明只是指定object为基类的简写。这两个形式是语义等价的。

 

○:class SomeClass{

//代码块

}

○:class SomeClass:object{

//代码块

}

△:上面的类说明隐式地派生自object类,而下面的则显示派生自object。这两种形式在语义上是等价的。

 

☆:关于类继承的其他重要内容如下。

□:一个类声明的基类规格说明中只能有一个单独的类。这成为单继承。

 

□:虽然类只能直接继承一个基类。但继承的层次没有限制。也就是说,作为基类的类可以派生自另外一个类,而这个类又派生自另一个类,一直下去,直到最终到达object。

 

▲:基类和派生类都是相对的术语。所有的类都是派生类,要么派生自object,要么派生自其它类。所以,通常当我们成为一个类为派生类时,我们的意思是它直接派生自某类而不是object。下图展示了一个简单的类层次结构。在这之后,将不会在图显示object了,因为所有的类最终都派生自它。

 

 

●●:结束本节

 

posted on 2018-01-10 22:30  炽热的火  阅读(138)  评论(0编辑  收藏  举报

导航