辅导课程二
类(对象)之间的关系 之 关联关系(association) 关联关系映射到代码上,表现为一个类(教授)的方法(教)的参数是另一个类(研究生)的对象。
继承关系(一般和特殊) 单继承(single inheritance):Java 多继承(multiple inheritance):C++ xx是一种XXX xx is a XXX 单继承(single inheritance):Java 多继承(multiple inheritance):C++
聚合关系(整体和部分) 聚集(aggregation) 组合(composition) xx是XXX的一部分 xx is a part of XXX XXX has a xx 聚集:松耦合。一个队员很可能属于多个球队。 组合:紧耦合。一个head只可能属于一个person。 聚集(aggregation) 组合(composition)
实现关系(realization)
多 态(polymorphism)
课堂练习 抽象出下面系统中的类及其关系 抽象出的类:旅行社、旅客、机票、帐户、航班目录 机票类 属性:时间、价格、航班时间 方法:作废、显示航班时间
Java与面向对象 对象是Java程序的核心,在Java程序中“万事万物皆对象”。 类是用来创建同一类型的对象的“模板”,在一个类中定义了该类对象所应具有的成员变量以及方法。 类可以看成是静态属性(成员变量)和动态属性(方法)的封装体。 J2SDK提供了很多类供编程人员使用,编程人员也可定义自己的类。 TestOO/Dog.java
为什么用对象? 面向对象的编程——一组对象互相配合通过沟通完成特定功能 所有的paradigm都是对现实问题的抽象 汇编是对机器语言的抽象 面向过程的语言是对汇编的抽象 对象更加符合对于现实问题的抽象 对象都有对外服务的接口 通过继承可以复用 对象隐藏内部服务的实现 通过聚合可以复用 面向对象更加容易使我们达到这些年来苦苦追求的境界 Reusability、Extensibility、Maintainability维护和替换更加方便... 组件——比对象更高的层次上的抽象(二进制级别) EJB、Web Service、CORBA、COM、...