C#面向对象(Object-Oriented Programming)
2016-02-26 10:55
281 查看
特点:封装,继承,多态
封装:将字段封装成属性,将一段代码封装成方法,提高代码的重用度。
继承:特点:单根性,传递性,
遵循里氏替换原则,特点:任何基类可以出现的地方,子类一定可以出现
基类和子类一般情况下,访问修饰符要一致,或者子类的访问权限要小于等于基类。访问修饰符一般有:
private protected internal public
四种
类不写访问修饰符,默认为Internal类型;成员不写访问修饰符,则默认为:private.
局部变量必须声明,并且赋值
子类在执行之前,先执行基类的构造函数,传参需要用base()方法。
多态:同一种行为,面对不同的方法,会返回不同的结果。按照程序来说,就是一种接口,多种实现。
实现多态的方法有:虚方法,抽象类。
虚方法需要两个关键字:virtual override
一般是基类需要被实例化,基类的方法需要被实现的情况下,才使用虚方法。
抽象类实现多态(abstract class):
特点:1、抽象类不能被实例化;
2、抽象方法只能存在在抽象类中;
3、抽象成员没有代码实现块,即抽象成员后面没有{}。
4、抽象类中可以有实例成员;
5、抽象成员的访问权限不能是private。
6、抽象类被继承,子类必须重写抽象成员,除非子类也是abstract class;
7、抽象类可以派生出另一个抽象类。
8.、任何派生自抽象类的类必须使用override关键字来实现抽象类中所有的抽象成员,除非派生类本身也是抽象类。
9.、abstract修饰符不能用于静态代码属性。
如下图几何面积周长计算:
封装:将字段封装成属性,将一段代码封装成方法,提高代码的重用度。
继承:特点:单根性,传递性,
遵循里氏替换原则,特点:任何基类可以出现的地方,子类一定可以出现
基类和子类一般情况下,访问修饰符要一致,或者子类的访问权限要小于等于基类。访问修饰符一般有:
private protected internal public
四种
类不写访问修饰符,默认为Internal类型;成员不写访问修饰符,则默认为:private.
局部变量必须声明,并且赋值
子类在执行之前,先执行基类的构造函数,传参需要用base()方法。
多态:同一种行为,面对不同的方法,会返回不同的结果。按照程序来说,就是一种接口,多种实现。
实现多态的方法有:虚方法,抽象类。
虚方法需要两个关键字:virtual override
一般是基类需要被实例化,基类的方法需要被实现的情况下,才使用虚方法。
抽象类实现多态(abstract class):
特点:1、抽象类不能被实例化;
2、抽象方法只能存在在抽象类中;
3、抽象成员没有代码实现块,即抽象成员后面没有{}。
4、抽象类中可以有实例成员;
5、抽象成员的访问权限不能是private。
6、抽象类被继承,子类必须重写抽象成员,除非子类也是abstract class;
7、抽象类可以派生出另一个抽象类。
8.、任何派生自抽象类的类必须使用override关键字来实现抽象类中所有的抽象成员,除非派生类本身也是抽象类。
9.、abstract修饰符不能用于静态代码属性。
如下图几何面积周长计算:
相关文章推荐
- 《从零开始学Swift》学习笔记(Day 70)——Swift与Objective-C混合编程之Swift与Objective-C API映射
- Mybatis配置报错元素类型为 "configuration" 的内容必须匹配 "(properties?,settings?,typeAliases?,typeHandlers?,objectFa
- js如何获取object类型里的键值
- Objective-C(Cocoa)中NSNumber、NSValue,NSNull类的简单应用
- Object之超级奶爸三
- 从别人写的 Object-C 中 Singleton (单例) 模式 中的一些理解--备
- Objective-C中单例模式的实现-备
- Objective-C Runtime
- 绘制Objective-C程序的UML类图
- 一个自动根据xcode中的objective-c代码生成类关系图的神器
- TObject简要说明-对象的创建流程
- Delphi中JSon SuperObject 使用:数据集与JSON对象互转
- List<Map<String,Object>>去重,排序
- Objective-C中,遍历数组的四种方法
- 【Android 一般进阶】固定JSONObject.toString()键值对顺序
- 取出List<Map<String,Object>>里面Map的key:value值
- js 判断object的类型
- 学习笔记:Effective Objective-C
- Object-c的一些基本概念
- c++ object的内存空间布局