- 多态
- 前言
- 一、类的多态是什么?
- 二、使用步骤
- 写入数据
前言
开闭原则(Open-Closed Principle, OCP)是指一个软件实体如类、模块和函数应该对扩展开放,对修改关闭。
强调的是用抽象构建框架,用实现扩展细节。
开闭原则,是面向对象设计中最基础的设计原则。它指导我们如何建立稳定灵活的系统。
例如:我们版本更新,尽可能不修改原代码,但是可以增加新功能。。
提示:以下是本篇文章正文内容,下面案例可供参考
一、类的多态是什么?子类对象执行父类引用(即父类引用中存储的是子类对象在堆中开辟的空间地址)。
二、使用步骤 写入数据Test01代码如下(示例):
package com.dream.test01;
public class Test01 {
public static void main(String[] args) {
Teacher t = new Teacher();
Transportation tr = new Bike();
Transportation tr1 = new Plane();
Transportation tr2 = new Car("宝马", "粉色", 2);
t.open(tr);
t.close(tr);
t.open(tr1);
t.close(tr1);
t.open(tr2);
t.close(tr2);
}
}
Teacher.java代码如下(示例):
package com.dream.test01;
public class Teacher {
public void open(Bike b) {
b.start();
}
public void close(Bike b) {
b.stop();
}
// public void open(Car c(String brand, String color, int num)){
// c.start();
// }
//
// public void close(Car c){
// c.stop();
// }
public void open(Transportation tr) {
tr.start();
}
public void close(Transportation tr) {
tr.stop();
}
}
Car.java代码如下(示例):
package com.dream.test01;
public class Car extends Transportation {
private String brand;
private String color;
private int num;
public Car() {
}
public Car(String brand, String color, int num) {
super();
this.brand = brand;
this.color = color;
this.num = num;
}
public String getBrand() {
return brand;
}
public void setBrand(String brand) {
this.brand = brand;
}
public String getColor() {
return color;
}
public void setColor(String color) {
this.color = color;
}
public int getNum() {
return num;
}
public void setNum(int num) {
this.num = num;
}
@Override
public void start() {
System.out.println(this.color + "的" + this.brand + "汽车启动");
}
@Override
public void stop() {
System.out.println("汽车停止");
}
}
Bike.java代码如下(示例):
package com.dream.test01;
public class Bike extends Transportation {
@Override
public void start() {
System.out.println("自行车启动");
}
@Override
public void stop() {
System.out.println("自行车停止");
}
}
Plane.java代码如下(示例):
package com.dream.test01;
public class Plane extends Transportation {
@Override
public void start() {
System.out.println("飞机启动");
}
@Override
public void stop() {
System.out.println("飞机停止");
}
}
运行结果如下(示例):
自行车启动 自行车停止 飞机启动 飞机停止 粉色的宝马汽车启动 汽车停止



