标签(OO思想,即面向对象思想):
OO思想,即面向对象思想
- 封装:方法——>类
- person与美国人,不应该写两个类,应该将国籍作为person的一个属性
***用面向对象的思想封装老张开车去东北***
步骤:
a. 抽取名词成为类,谨记要具体不要笼统,例如不要用person去封装老张,应该用driver;也不要太具体,例如用laozhag去封装老张。
b. 确定属性。不能脱离具体的应用场景,不要写一些不相关的属性
c. 确定方法。从类的名字,即driver去确定这个主语有的动作,行为。
面向对象的一条普通原就是属性一般是private的,所以不能直接通过对象.来使用,而是通过方法去调用,因为这样可以在方法中做一些判断,例如权限,这样更安全,才能把数据封装起来。
d.类之间的关系(组合,继承,依赖,聚合,关联,实现)
e.隐藏(封装)
降低耦合度(但是耦合度不可能为0,耦合到合适即可 )
f.继承(降低耦合度)
g.多态——(可扩展性,面向对象的核心中的核心)
注意
- 设计没有绝对的对与错
- over design也是一种罪过,不要老是想着用继承,多态。记住简单问题简单解决。
- 现在对于问题想得太多的话,就等于没想一样。不用在写代码前老是考虑用什么设计模式好,用不用继承呢,该不该使用多态。因为那些人为规定的设计模式也是从实际的代码中总结出来的,所以当你代码写多了,就自然而然知道该用哪种设计模式了。
接口与抽象类的区别
事物作为抽象类,事物的特性行为作为接口
总结
OO思想慢慢来
封装继承和多态
设计层层无止境
适可而止乐开怀