美文网首页
面相对象一

面相对象一

作者: 休思楠木 | 来源:发表于2018-11-25 13:18 被阅读0次

类的关系:

纵向:

继承:父子关系——extends
实现:类对接口的实现——implements

横向:

依赖:

双方的地位往往是独立平等的(地位)
是偶尔的、临时性的、不频繁的(依赖程度)
代码层面的表现形式而言,往往是局部的变量
eg:员工和游轮

关联:

双方的地位往往是独立的、平等的(地位)
是长期的、稳定的、频繁的(依赖程度)
代码层面的表现形式而言,关联往往以全局属性的形式存在
eg:员工和手机

聚合:

双方的地位不是平等的,是整体和部分之间的关系(地位)
是长期的、稳定的、频繁的,这种关系比关联更强,以至于在形式上出现了整体和部分之间的关系。
整体和部分都有自己的生命周期,一方的消失另外一方不会跟着消失。(依赖程度)
代码层面的表现形式而言可参考关联
eg:公司和员工

组合:双方的地位不是平等的,是整体和部分之间的关系(地位)

比聚合更强,部分的生命周期取决于整体,部分随着整体的消失而消失(依赖程度)
代码层面的表现形式而言可参考关联
区分是聚合还是组合的核心点是在生命周期
eg:公司和部门

封装

封装是面向对象编程的核心思想。封装的载体是类,对象的属性和行为被封装在这个类中。

*** 水果类 */
public class Fruit {
//名称
public String fruitName;
//价格 private double fruitPrice;
//产地
protected String origin;
public double getFruitPrice() { return fruitPrice;
}
public void setFruitPrice(double fruitPrice) { this.fruitPrice = fruitPrice;
}
}

public class FruitApp { public static void main(String[] args) {
Fruit fruit = new Fruit();
fruit.fruitName = "苹果";
System.out.println(fruit.fruitName);
fruit.setFruitPrice(8.8);
System.out.println(fruit.getFruitPrice());
fruit.origin = "山东烟台";
System.out.println(fruit.origin);
}
}

继承

子类继承父类,可以继承父类原有的属性和方法,也可以增加其他的属性和方法,可以直接重写父类中的某些方法。

微信截图_20181125131038.png 微信截图_20181125131047.png 微信截图_20181125131055.png 微信截图_20181125131106.png

多态

相关文章

网友评论

      本文标题:面相对象一

      本文链接:https://www.haomeiwen.com/subject/jtcqqqtx.html