OOP:简明指南 Object Oriented Programming |
|
---|
OOP
-
面向对象程序设计(Object Oriented Programming,OOP)
-
是一种计算机编程架构。
核心技术封装、继承、多态。
必须掌握!
-
OOP 是C#编程语言中的
核心
如果没有学习C#的OOP部分,则可以认为就没有学习过C#。
To Map |
---|
三大:核心特征
封装
-
封装
-
就是把
客观事物 封装成
抽象的类,
并且类可以把自己的数据和方法只让可信的类或者对象操作,
对不可信的进行信息隐藏。
封装最好理解
-
封装是面向对象的特征之一,是对象和类概念的主要特性。
从特殊到一般,实现重用!
用 访问修饰符 来 体现 封装性
-
Public 公共的
private 私有的
Protected 受保护的
Internal 本程序集的
To Map |
---|
继承
-
面向对象编程 (OOP) 语言的一个主要功能就是“继承”。
-
继承是指这样一种能力:
它可以使用现有类的所有功能,
并在无需重新编写原来的类的情况下对这些功能进行扩展。
继承现有类 + 扩展
父类
- 被继承的类称为“基类”、“父类”或“超类”。 子类
- 通过继承创建的新类称为“子类”或“派生类”。 继承的过程
- 就是从一般到特殊的过程。 OO开发范式
- 大致为:划分对象→抽象类→将类组织成为层次化结构(继承和合成) →用类与实例进行设计和实现几个阶段。
To Map |
---|
多态
-
多态性(polymorphisn)
-
允许将子类类型的指针赋值给父类类型的指针。
它是允许你将父对象设置成为和一个或更多的他的子对象相等的技术,
赋值之后,父对象就可以根据当前赋值给它的子对象的特性以不同的方式运作。
多态的作用是什么?
-
我们知道,封装可以隐藏实现细节,使得代码模块化;
继承可以扩展已存在的代码模块(类);
它们的目的都是为了—— 代码重用 。
而多态则是为了实现另一个目的—— 接口重用!
多态的作用,就是为了类在继承和派生的时候,保证使用“家谱”中任一类的实例的某一属性时的正确调用。
实现多态的方式?
- 有二种方式,覆盖,重载。 覆盖
- 是指子类重新定义父类的虚函数的做法。 重载
-
是指允许存在多个同名函数,
而这些函数的参数表不同
(或许参数个数不同,或许参数类型不同,或许两者都不同)。
题外话
-
其实,重载的概念并不属于“面向对象编程”。
重载的实现是:
编译器根据函数不同的参数表,对同名函数的名称做修饰,
然后这些同名函数就成了不同的函数(至少对于编译器来说是这样的)。
To Map |
---|
To Top |