![](https://iknow-base.cdn.bcebos.com/lxb/notice.png)
面向对象的几个重要概念
1个回答
展开全部
◆OOP的主要特征:
抽象(abstract)
封装(encapsulation)
哪野继承(inheritance)
多态(polymorphism)
关联(association)
聚合(aggregation)
组合(composition)
内聚与耦合(cohesion & coupling)
单个类型 抽象Abstract 封装encapsulation
层次结构 继承inheritance 多态polymorphism
类型之间 关联association 聚合aggregation 组合composition
编程准则:内聚与藕合 cohesion & coupling
◆抽象Abstract:把事物共同点抽取出来,以统一的方式进行概要描述的过程.抽象是存在不同层次的。
在不同的需求环境下,我们到底把什么抽象成类,把什么当作实例或对象,是面向对象设计一开始最关键的一步,如果抽象过度,可能导致程序设计层次加重,但如果抽象不够在极端的情况下,可能会退化到面向过程设计的那种一段程序对应一个问题的情形。
忽略掉一个对象或实体的细节而只关注其本质特征的过程简化功能与格式帮助用户与对象交互。
◆封装(encapsulation)
隐藏数据和实现
提供公共方法供用户调用功能
对象的两种视图
—— 外部视图:对象能做的工作
—— 内部视图:对象如何完成工作
—— 电视机:调节音量
◆继承(inheritance)
通过存在的类型定义新类型的机制。
通常在两个类型之间存在“is a”或“kind of”这样的关系。
通过继承可实现代码重用,另外继承也是多态的基础。
如苹果李樱喊“is a”水果。
◆多态(polymorphism)
一个名称,多种形式。
一个类中的方法重载就是一种多态。
基于继承的多态。
调用方法时根据所给对象的不同选择不同的处理方式。
如Football——play():使用脚来完成。
Basketball——play():使用手来完成。
给出一个具体的足球或篮球,用户自动知道该使用谁的方式去执行play()。
◆关联(association)
对象之间交互时的一种引用方式。
当一个对象通过对另一个对象的引用去使用另一个对象的服务或操作时,两个对象之间便产生了关联。
如person使用computer,person与computer之间就存在了关联关系。
person
{
Computer.PlayGame();
}
◆聚合(aggregation)
关联关系的一种,一个对象成为另外一个对象的组成部分。
是一种关系较强的关联。
在两个对象之间存在“has a”这样的关系,一个对象作为另一个对象的属性存在,在外部对象被生产时,可由客户端指定与其关联的内部对象。
如汽车与轮胎,轮胎作为汽车的一个组成部分,它和汽车可以分别生产以后装配起来使颂并用,但汽车可以换新轮胎,轮胎也可以卸下来给其它汽车使用。
抽象(abstract)
封装(encapsulation)
哪野继承(inheritance)
多态(polymorphism)
关联(association)
聚合(aggregation)
组合(composition)
内聚与耦合(cohesion & coupling)
单个类型 抽象Abstract 封装encapsulation
层次结构 继承inheritance 多态polymorphism
类型之间 关联association 聚合aggregation 组合composition
编程准则:内聚与藕合 cohesion & coupling
◆抽象Abstract:把事物共同点抽取出来,以统一的方式进行概要描述的过程.抽象是存在不同层次的。
在不同的需求环境下,我们到底把什么抽象成类,把什么当作实例或对象,是面向对象设计一开始最关键的一步,如果抽象过度,可能导致程序设计层次加重,但如果抽象不够在极端的情况下,可能会退化到面向过程设计的那种一段程序对应一个问题的情形。
忽略掉一个对象或实体的细节而只关注其本质特征的过程简化功能与格式帮助用户与对象交互。
◆封装(encapsulation)
隐藏数据和实现
提供公共方法供用户调用功能
对象的两种视图
—— 外部视图:对象能做的工作
—— 内部视图:对象如何完成工作
—— 电视机:调节音量
◆继承(inheritance)
通过存在的类型定义新类型的机制。
通常在两个类型之间存在“is a”或“kind of”这样的关系。
通过继承可实现代码重用,另外继承也是多态的基础。
如苹果李樱喊“is a”水果。
◆多态(polymorphism)
一个名称,多种形式。
一个类中的方法重载就是一种多态。
基于继承的多态。
调用方法时根据所给对象的不同选择不同的处理方式。
如Football——play():使用脚来完成。
Basketball——play():使用手来完成。
给出一个具体的足球或篮球,用户自动知道该使用谁的方式去执行play()。
◆关联(association)
对象之间交互时的一种引用方式。
当一个对象通过对另一个对象的引用去使用另一个对象的服务或操作时,两个对象之间便产生了关联。
如person使用computer,person与computer之间就存在了关联关系。
person
{
Computer.PlayGame();
}
◆聚合(aggregation)
关联关系的一种,一个对象成为另外一个对象的组成部分。
是一种关系较强的关联。
在两个对象之间存在“has a”这样的关系,一个对象作为另一个对象的属性存在,在外部对象被生产时,可由客户端指定与其关联的内部对象。
如汽车与轮胎,轮胎作为汽车的一个组成部分,它和汽车可以分别生产以后装配起来使颂并用,但汽车可以换新轮胎,轮胎也可以卸下来给其它汽车使用。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
![](https://ecmc.bdimg.com/public03/b4cb859ca634443212c22993b0c87088.png)
2024-11-30 广告
多组学联合分析是我们迈杰转化医学研究(苏州)有限公司的重要研究领域。该技术通过整合基因组、转录组、蛋白质组及代谢组等多层次数据,提供对生物系统更全面、深入的理解。我们利用先进的生物信息学工具和方法,实现多组学数据的整合与挖掘,从而揭示疾病发...
点击进入详情页
本回答由迈杰提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询