类与类之间的关系
1、关联关系
EG:
class person{ //人
Food food;
}
class Food{ //食物
}
说明:关联关系就好比人和食物,人需要食物。
将食物类在人类中实例化(通俗点说就是人使用食物)。
再比如:
class Bank{
Customer cust;
}
class Customer{
}
说明:银行类中将客户类实例化。(银行中有客户)
直观点说:银行对客户服务,客户是银行对所有使用银行服务的一个统称,为了区别每个人的业务,所以银行给了每个人一个卡号。
2、继承关系
继承是面向对象的特征之一。(封装和隐藏、继承、多态)
白话说明(以运动员图为例):
运动员是所有运动员的一个统称,运动员根据不同运动的分类,分为游泳运动员,球类运动员,射击运动员;
同时,球类运动员又分为足球运动员,篮球运动员和排球运动员。
他们拥有一个共同的特性就是运动员。
java说明:运动员类拥有所有运动员的一些特性,比如每天要锻炼,身体好等,这些特性通过继承都能够获取到这些属性。
3、聚合关系:聚合关系又分为聚集和组合
说明:因为很多人聚集到一起,其中有一个叫队长,一些叫队员,聚集在一起叫球队。
说明:人由胳膊,腿,脑袋等分支组合在一起的,组合在一起叫人。
区别:组合中的子类具有唯一性,只能作为一个类的子类
聚合中的子类不具有唯一性,可以作为多个类的子类。
比如,队长可以是A球队的队长,同时也可以B球队的队长。
但是,胳膊只能是一个人的胳膊,不可能是另外一个人的胳膊。
面向对象的思想概述
程序员从执行者转化成为了指挥者
完成需求时:先去找具有所需功能的对象来用
如果该对象不存在,那么创建一个具有功能的对象
这样简化开发并提高复用
类(class)和对象(object)是面向对象的核心概念
△类是对一类事物描述,是抽象的、概念上的定义
类可以理解为汽车设计图
△对象是实际存在的该类事物的每个个体,因而也称实例(instance)
对象可以理解为制造出来的汽车
“万事万物皆对象”
△面向对象程序设计的重点是 类的设计
△定义类其实是定义类中的成员(成员变量和成员方法)
java类及类的成员
现实世界万事万物是由分子、原子构成的。同理,java代码世界是由诸多个不同功能的类构成的。
现实世界中的分子、原子又是由什么构成的呢?原子核、电子!
那么java中用类class来描述事物也是如此
属性:对应类中的成员变量
行为:对应类中的成员方法
Field = 属性 =成员变量,Method=(成员)方法=函数