主要以 Java 为代表分析面向对象语言的特点,此外也有 C++ 和 Python 等语言。

# 概述

面向对象语言的三大特点是:

  • 继承
  • 封装
  • 多态

上述特点是面向对象语言的特点,而不是面向对象的特点。

在面向对象中,对象间的基本关系包括:

  • 关联:一个类使用了另一个类的实例,如 CustomerAddress 类。
  • 聚合:与关联类似,但对象存在包含关系,如 Computerkeyboard 类。
  • 组合:耦合度更强的聚合关系。“整体” 对象决定 “部分” 对象的生命周期。
  • 泛化:继承关系中,父类是子类的泛化。
  • 依赖:一类的方法中借用了其它类作为参数。
  • 实现:类重载接口。

# 类 & 对象

类是对象的蓝图,对象是类概念的具体实现。对象的状态由属性确定,对象的行为由方法确定。

# 实例化

# 继承

Java 的面向对象是基于类和继承的面向对象,C++ 和 Python 也属于此类面向对象。此外,还有基于原型的面向对象,代表是 JavaScript.

# 特点

# 多重继承

继承关系是可复合的,即存在多重继承。例如

classA
public class A {
// private variables
    private int id;
    private String name;
// public methods
    public A(String name, int id) {
        this.name = name;
        this.id = id;
    }
}
classB
public class B extends A {
    public B(String name, int id) {
        super(name, id);
    }
}
classC
public class C extends B {
    public C(String name, int id) {
        super(name, id);
    }
}

# 单继承和多继承

# 接口