C#面向对象要点
2018-06-17 20:08:38来源:未知 阅读 ()
静态成员可以在类的实例之间共享,可以把它看做是类的全局变量。静态属性和静态字段可以访问独立于任何对象实例的数据,静态方法可以执行与对象类型相关、但与类型实例无关的命令,在使用静态成员时,可以不用实例化对象。
静态类当我们希望类只包含静态成员,且不能用于实例化对象时,一种简单的方法是使用静态类(如Console),而不是把构造函数设置为private。静态类只包含静态成员,不需要实例构造函数,可以有一个静态的构造函数。
接口是把特定的公共方法和属性组合起来,以封装特定功能的一个集合,用于需要接口定义功能的类来实现它。接口不能单独存在,不能实例化接口。接口不能包含其成员的实现代码,只能定义成员。实现过程必须在实现接口的类中实现。
继承C#和Java都是单继承,被继承的类称为基类,派生类不能访问基类的private成员,可以访问public和protected成员。基类的成员可以是虚拟的,在派生类中可以重写它。类可以是密封的(sealed),密封类不能被继承。C#中所有对象有共同的基类object
多态性同样的指令对于不同的对象会有不同的反应,这就是多态。多态性是因为继承产生的,继承导致子类和父类之间有方法和属性之间的重叠,可以使用相同的语法处理从同一基类实例化的对象。派生类实例的对象可以直接赋值给基类对象,不需要进行类型转换,然后基类对象可以调用派生类的成员,但不能调用除子类自己定义的方法。接口也有多态性。
internal修饰的类只能在当前项目的代码中才可以访问它。
abstract修饰的类不能实例化,只能继承。sealed修饰的类只能实例化,不能继承。一个类只能有一个基类,如果继承了抽象类,就必须实现所继承的所有抽象成员(除非派生类也是抽象的)。编译器不允许派生类的可访问性比其基类还高。abstract和sealed关键字不允许在接口中使用。接口没有继承object。
接口和抽象类 都可以被继承,都不能被实例化,但可以申明变量。派生类只能继承一个抽象类,但可以使用多个接口。抽象类可以有抽象成员和非抽象成员(有代码体,也可以是虚拟的,这样可以在派生类中重写)。接口成员都必须在使用接口的类上实现。接口不能包含字段、构造函数、析构函数、静态成员或常量。
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- PHPer善用接口与Trait 2019-07-24
- 修改 计算机名后,修改SQLserver 注册服务器对象的名称,及 2018-07-13
- SQL Server 面面观——数据库对象 2018-07-13
- 面向对象的设计三大特征:二 多态 2018-06-23
- C#操作Excel(1)Excel对象模型 2018-06-22
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash