一、面向对象
Java完全支持面向对象的三种基本特征:继承、封装和多态。Java语言完全以对象为中心,Java程序的最小程序单位是类,整个Java程序由一个一个的类组成。
面向对象的方式由OOA(面向对象分析)、OOD(面向对象设计)和OOP(面向对象编程)组成,其中:
OOA和OOD的结构需要使用一种方式来描述并记录,目前业界统一采用UML(统一建模语言)来描述并记录OOA和OOD的结果。
程序的三种基本结构:顺序结构、选择结构、循环结构。
面向对象程序设计方法的基本思想是使用类、对象、继承、封装、消息等基本概念进行程序设计。
成员变量(状态数据)+方法(行为)= 类定义
二、面向对象的基本特征
面向对象方法具有三个基本特征:封装(Encapsulation)、继承(Inheritance)和多态(Polymorphism)。
- 封装:指将对象的实现细节隐藏起来,然后通过一些公用方法来暴露该对象的功能;
package com.Test.animal;
public class Animal {
private String name;
private int month;
private String species;
public Animal() {
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getMonth() {
return month;
}
public void setMonth(int month) {
this.month = month;
}
public String getSpecies() {
return species;
}
public void setSpecies(String species) {
this.species = species;
}
}
- 继承:是面向对象实现软件复用的重要手段,当子类继承父类后,子类作为特殊的父类,将直接获得父类的属性和方法;
package com.Test.animal;
public class Cat extends Animal {
private double weight;
public Cat() {
}
public double getWeight() {
return weight;
}
public void setWeight(double weight) {
this.weight = weight;
}
//跑动的方法
public void run(){
System.out.println(this.getName()+"是一只"+getSpecies()+"的猫,他在运动。");
}
}
- 多态:指子类对象可以直接赋给父类变量,但运行时依然表现出子类的行为特征,这意味着同一个类型的对象在执行同一个方法时,可能表现出多种行为特征。
多态存在的三个必要条件
- 继承
- 重写
- 父类引用指向子类对象
除此之外,抽象也是面向对象的重要部分,抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。