关闭

J2SE第三章面向对象设计思想

332人阅读 评论(18) 收藏 举报

   面向对象的设计思想贯穿着整个学习过程,每一次的学习都是对知识的再次回顾。马士兵老师的例子让人印象深刻:
   对象:车。 
   作为一个驾驶人,我不需要知道车的信息,关于车的油门在哪,刹车在哪等都不必知道,只需将其信息封装起来,一切都交给车这个对象,那么它暴露给驾驶人的就只会是go这个业务方法,至于车怎么去的也根本不用管。驾驶人实现的是对整个对象的复用,而隐藏了方法和类的细节。 

这里需要注意的是:合适的方法应该出现在合适的类里。车怎么开去新疆, 车更了解车怎么自己开动 了解自己内部结构,人不了解。 

   面向对象:把对象抽出来,并建立联系。

   对象和类的概念: 
     类:一眼能认出的东西。 具有某些特征的,一类事物的抽象。 
     对象:符合这类事物具体特征的某个东西。 
   例子:什么是瓶子?
     1.静态的属性:瓶子应该具有什么东西?盖,口 
     2.动态的行为:瓶子能倒水
   反映到类上就是:
     1.成员变量:类的属性 (学生、桌子、瓶子都是类,一个类对应的某个具体东西叫做对象:那个穿红衣服的学生,那个开着口的瓶子 符合这类事物具体特征的某个东西叫对象。)
     2.方法:可以动 
   注意:类有属性或成员变量,对象也有。(属性和成员变量是一回事) 
类和对象之间的关系: 
   关联:最弱的一种关系。有一点关系,但不紧密。(映射到代码里,就是一个类的方法里面是另一个类的具体的某个对象,即我这个方法的参数是你的类的对象)
   继承:XX是一种XX。eg: 学生是一种人 √ 老师是一种人 √ 学生是一种老师 × 游泳运动员是一种运动员 √ 足球运动员是一种球类运动员 √但是,值得注意的是,一个事物还可能继承多个。Eg:金丝猴可以继承是一种受保护的东西,也继承动物。所以存在多重继承。
   聚合:整体和部分的关系。XX是XX的一部分。(耦合性较松,没有说你离不了我我离不了你的关系)eg:队长:可以是篮球的,足球的,羽毛球的队长,可以是这个球队的,也可是另一个球队的。
   组合:密不可分的关系,必不可少的部分。eg:身体:我的眼睛是你身体的一部分 ×
   实现: 我开车去新疆。有个方法是go或者run。应该具有,怎么实现,谁实现?不同的子类对go的实现可能不同。大卡车有大卡车的方法,小轿车有小轿车的方法。

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:60891次
    • 积分:7720
    • 等级:
    • 排名:第3025名
    • 原创:132篇
    • 转载:0篇
    • 译文:0篇
    • 评论:2497条
    欢迎QQ联系我哦
    欢迎留言哦,留言必回的哦。