栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java多态一看就懂

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java多态一看就懂

多态

文章目录
  • 多态
  • 前言
  • 一、类的多态是什么?
  • 二、使用步骤
    • 写入数据


前言

开闭原则(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("飞机停止");
	}
}

运行结果如下(示例):

自行车启动
自行车停止
飞机启动
飞机停止
粉色的宝马汽车启动
汽车停止
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/322770.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号