C++中:用基类的引用指定派生类的对象,然后通过该引用来访问派生类的方法,这是基本的多态形式。(Java中用的接口的概念)
这样的好处是,程序的已知流程在没有派生类的时候就可以写好,以后要有新的功能,只要再写个派生类就可以了。举个例子,在电脑上显示,基本上要有读文件,解析文件,显示图形三个步骤,这些步骤可以写在基类中,然后具体的如何读文件,如何解析文件,如何显示,就交给派生类去做。
//为了保证程序的正确性,你可以修改系统时间进行测试,也可以使用date类进行时间偏移!
import javautil;
public class Homework {
public static void main(String[] args) {
//中式:
Person c=new Chinese();
cgetTime();
//西式:
Person f=new Foreigners();
fgetTime();
}
}
//Person类!
class Person{
protected Calendar date;
Person(){
date=CalendargetInstance();
}
//时间!
protected void getTime() {
int a=dateget(dateHOUR_OF_DAY);
Systemoutprintln("现在时间:"+a+"点");
if(a>=7&&a<=8)
Breakfast_Time();
else if(a>=11&&a<=13)
Lunch_Time();
else if(a>=17&&a<=20)
Dinner_Time();
}
//早餐!
protected void Breakfast_Time() {
Systemoutprintln("早餐!");
}
//中餐!
protected void Lunch_Time() {
Systemoutprintln("中餐!");
}
//晚餐!
protected void Dinner_Time(){
Systemoutprintln("晚餐!");
}
}
//Chinese类!
class Chinese extends Person{
//早餐!
protected void Breakfast_Time() {
Systemoutprintln("中式早餐:包子,油条,粥和豆浆\n");
}
//中餐!
protected void Lunch_Time() {
Systemoutprintln("中式中餐:米饭,馒头,蔬菜和肉类\n");
}
//晚餐!
protected void Dinner_Time(){
Systemoutprintln("中式晚餐:粥,馒头,蔬菜和水果\n");
}
}
//外国类!
class Foreigners extends Person{
//早餐!
protected void Breakfast_Time() {
Systemoutprintln("西式早餐:面包加黄油,牛奶,火腿\n");
}
//中餐!
protected void Lunch_Time() {
Systemoutprintln("西式中餐:汉堡,炸马铃薯,一些蔬菜\n");
}
//晚餐!
protected void Dinner_Time(){
Systemoutprintln("西式晚餐:萨饼,蔬菜,牛肉,水果,甜点,面包\n");
}
}
以上就是关于java中多态如何实现程序的可扩展性全部的内容,包括:java中多态如何实现程序的可扩展性、使用多态的思想设计一个Java程序,输出中外的不同饮食习惯。、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)