黑马程序员-------.NET知识基础(第五天)
来源:互联网 发布:网络维护与故障排除 编辑:程序博客网 时间:2024/04/30 03:48
------- Windows Phone 7手机开发、.Net培训、期待与您交流! -------
- 密封类
1、sealed 标记一个密封类,不能被子类继承
2、禁止子类重写父类的方法
特殊处理。、,防止别的类继承后造成混乱。商业问题
static void Main(string[] args) { Chinese c = new Chinese(); c.Name = "aaa"; Console.WriteLine(c.Name); Console.ReadKey(); } sealed class Person { public string Name { get; set; } } class Chinese : Person //错误“密封类.Program.Chinese”: 无法从密封类型“密封类.Program.Person”派生 { }
抽象类、抽象方法
什么叫抽象类??
就是“只说不做的”, 不能被实例化(不能new)
比如动物都有一个eat和bark方法。但是由于每个动物的eat和bark是不一样的,所以父类中定义的方法是不需要被实例化的,这时就可以把它们定义成抽象类。由子类继承父类并重写这些方法。
1、抽象方法不能有任何的方法体。
2、抽象成员必须标记为abstract
3、抽象成员必须包含在抽象类中,不能写在一个实例中
4、并且抽象成员不能是私有的(private)
5、抽象类中可以包含实例成员
6、抽象类是不能被实例化的(抽象类的作用就是让继承)
7、子类继承抽象类后,必须重写父类中的所有抽象成员(除非子类也是一个抽象类,则可以不重写)
8、抽象类是有构造函数的,虽然不能被实例化
9、抽象类的目的:为了重写,即实现多态(代码重用)
-----------------------------------------------------------------------------
如果父类中的方法有默认实现,并且父类需要被实例化,这时可以考虑将父类定义成一个普通类,用虚方法来实现多态。
如果父类中的方法没有默认实现,父类也不需要被实例化,则可以将该类定义为抽象类
- 用new关键字隐藏父类方法
哪些情况下会用到new关键字 写一个新方法
父类中有一个方法SayHello(),子类继承父类,其中也有一个SayHello(),那么如果这时不用父类中的方法,自己重写一个就要用到new关键字了
------- Windows Phone 7手机开发、.Net培训、期待与您交流! -------
- 黑马程序员-------.NET知识基础(第五天)
- 黑马程序员-------.NET知识基础(第一天)
- 黑马程序员-------.NET知识基础(第三天)
- 黑马程序员--IOS基础第五天(C语言)
- 黑马程序员----基础学习第五天
- 黑马程序员_java第五天基础总结
- 黑马程序员_java基础笔记第五天
- 黑马程序员第五天
- 黑马程序员-第五天(面向对象)
- 黑马程序员--第五天(多态)
- 黑马程序员-------学习日记Java基础 第五天
- 黑马程序员_毕向东java基础视频第五天
- 黑马程序员--Java基础学习(面向对象)第五天
- 黑马程序员-Java基础学习第五天总结
- 黑马程序员_第五天
- 黑马程序员的第五天
- 黑马程序员——第五天(Java面向对象基础)
- 黑马程序员-------.NET知识基础(第二天)
- [LeetCode] Sort Colors
- Hibernate使用annotations开始
- 二维数组--从左上角到右下角的最大值 九度
- Android必会小功能总结
- 动态向table添加数据
- 黑马程序员-------.NET知识基础(第五天)
- Android中“再按一次返回键退出程序”实现
- 相机标定(3)---基于halcon的面阵相机标定
- poll和select
- Linux系统编程学习之《文件和目录操作》
- [leetcode] Unique Binary Search Trees
- MAKEINTRESOURCE
- UVa - 120 - Stacks of Flapjacksh
- Perl实现不同数据库结果比较 (mysql, oracle, sqlserver)