面向对象思想

一.设计原则:

S.O.L.I.D:
1.单一责任原则:一个类只应该负责一个功能
2.开放封闭原则:对扩展开放,对修改封闭
3.里氏替换原则:子类对象应该能替换掉所有父类对象(父类替换成子类不需要改变)
4.接口分离原则:接口尽可能的分离开来,增加复用,减少耦合(只用自己需要的)
5.依赖倒置原则:高层模块\低层模块\细节 都依赖于抽象(抽象类\接口)
其他原则:
迪米特原则(最少知识原则):类应该最少的了解其他类,减少耦合

二.三大特性:

封装:
保护数据,隐藏细节.通过对外接口进行操作.
优点:
1.减少耦合:可以独立地开发、测试、优化、使用、理解和修改
2.减轻维护的负担:可以更容易被程序员理解,并且在调试的时候可以不影响其他模块
3.有效地调节性能:可以通过剖析确定哪些模块影响了系统的性能
4.提高软件的可重用性
5.降低了构建大型系统的风险:即使整个系统不可用,但是这些独立的模块却有可能是可用的
继承
多态:
多态分为编译时多态和运行时多态。编译时多态主要指方法的重载,运行时多态指程
中定义的对象引用所指向的具体类型在运行期间才确定。
运行时多态有三个条件:
1.继承
2.覆盖
3.向上转型

三.类图:

泛化关系 (Generalization)
用来描述继承关系,在 Java 中使用 extends 关键字。

实现关系 (Realization)
用来实现一个接口,在 Java 中使用 implement 关键字。

聚合关系 (Aggregation)
表示整体由部分组成,但是整体和部分不是强依赖的,整体不存在了部分还是会存在。

组合关系 (Composition)
和聚合不同,组合中整体和部分是强依赖的,整体不存在了部分也不存在了。比如公司和部门,公司没了部门就不存在了。但是公司和员工就属于聚合关系了,因为公司没了员工还在。

关联关系 (Association)
表示不同类对象之间有关联,这是一种静态关系,与运行过程的状态无关,在最开始就可以确定。因此也可以用 1 对 1、多对 1、多对多这种关联关系来表示。比如学生和学校就是一种关联关系,一个学校可以有很多学生,但是一个学生只属于一个学校,因此这是一种多对一的关系,在运行开始之前就可以确定。

依赖关系 (Dependency)
和关联关系不同的是,依赖关系是在运行过程中起作用的。A 类和 B 类是依赖关系主要有三种形式:
1.A 类是 B 类中的(某中方法的)局部变量;
2.A 类是 B 类方法当中的一个参数;
3.A 类向 B 类发送消息,从而影响 B 类发生变化;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值