1、考虑类
名词
2、属性
不可脱离具体的应用环境
一般为private,不能直接读写
3、方法
4、类之间的关系
5、隐藏(封装)
降低耦合度
6、继承
7、多态
含有abstract方法的类应为abstract类
核心中的核心
OO的好处:可扩展性(Extensibility)
===============
注意:
a)设计没有绝对的对与错
b)Over Design也是一种罪过
c)没有任何实际中的设计会一步到位
d)初学者不要考虑太多的原则和条条框框,最重要的是动手写
抽象类与接口(确实存在的某一事物则定义为抽象类,多件事物存在着某一些共同的特性,将这些共同的特性定义为接口)