面向对象之我见→③

方法

C#的类的定义中可以包含两种方法:静态和非静态的。使用static修饰符的方法为静态方法,反之则是非静态的。
 静态方法是一种特殊的成员方法,它不属于类的某一个具体的实例。非静态方法可以访问类中的任何成员,而静态方法只能访问类中的静态成员。

例:
  class A
  {
    int X;
    static int Y;
    static int F()
    {
      X=1;//错误 不允许访问
      Y=2;//正确,允许访问
    }
  }

方法的重载
 类中2个以上的方法(包含隐藏的继承而来的方法),取的名字相同,只要使用的参数类型或者参数个数不同,编译器便知道在何种情况下应该调用哪个方法,这就叫做方法的重载。

 

继承和多态
为了用软件语言对现实世界中的层次结构进行模型化,面向对象的程序设计技术引入了继承的概念。一个类从另一个类派生出来时,派生类从基类那里继承特性。派生类也可以作为其他的基类。从一个基类派生出来的多层类形成了类的层次结构。
C#中的继承符合下了规则:
 继承是可传递的。如果C从B中派生,B又从A中派生,那么C不仅继承了B中的声明的成员,同样也继承了A中的成员。Object类作为所有类的基类。
 派生类应当是对基类的扩展。派生类可以添加新的成员,但是不能出去以继承的成员的定义。
 构造函数和析构函数不能被继承。除此以外的其他成员,不论对他们定义了怎样的访问方式,都能被继承。基类中成员的访问方式只能决定派生类能否访问他们。
 派生类如果定义了与继承而来的成员同名的新成员,就可以覆盖以继承的成员。但这并不因为这派生类删除了这些成员,只是不能再访问这些成员。
 类可以定义虚方法、虚属性以及虚索引指示器,它派生类能够重载这些成员,从而实现类可以扩展出多态性。
多态性
 在C#中,多态的定义是:同一操作作用于不同的类的实例,不同的类将进行不同的解释,最后产生不同的执行结果。C#支持两种类型的多态性: 编译时的多态性 运行时的多态性

To Be Continued...

posted on 2010-08-30 09:57  ╰つ左手  阅读(279)  评论(0)    收藏  举报