黑马程序员技术交流社区
标题:
多态
[打印本页]
作者:
tangliping
时间:
2014-6-28 02:49
标题:
多态
多态的作用是什么,有什么意义
作者:
youngkay
时间:
2014-6-28 10:44
实现多态的原因是:简单来讲是“模糊战略” 就是在做之前不把话说死,模糊一点想想空间大些。具体做的时候再具体话。 也可以理解为 雏形、草稿模板。
作者:
从未有过的晴天
时间:
2014-6-28 11:05
A:提高代码复用性。 B:提高程序的扩展性。
作者:
lijinhe
时间:
2014-6-28 11:35
作用:简单的说就是一个接口,多种实现;继承的表现就是多态,但是多态的前提是两个类之间必须要有关系(继承)。
意义:1.提高程序的可复用性。
2.提高可扩充性和可维护性。
作者:
yangjijin
时间:
2014-6-28 13:32
多态的好处:
提高了代码的扩展性,前期定义的代码可以使用后期的内容。
多态的弊端:
前期定义的内容不能使用(调用)后期子类的特有内容。
作者:
编程学徙
时间:
2014-6-28 14:59
我的理解是,通过同一标识符对不同的方法,变量,对象进行调用。提高代码利用性,有利程序扩展。以下是一个简单的示范:
/**
以下是一段简单的多态演示代码。
*/
abstract class Car
{
String ID;
String colour;
Car(){}
abstract void run();
}
class Truck extends Car
{
Truck(String ID,String colour)
{
this.ID = ID;
this.colour = colour;
}
void run() //复写run方法,打印车牌和颜色;
{
System.out.println("ID: "+ID+" colour: "+colour);
}
}
class Roadster extends Car
{
int speed;
Roadster(String ID,String colour,int speed)
{
this.ID = ID; //局部变更隐藏了类变量,使用this关键字调出类变量;
this.colour = colour;
this.speed = speed;
}
Roadster(int speed,String ID,String colour) //参数顺序不同,覆写构造方法;
{
this.ID = ID;
this.colour = colour;
this.speed = speed;
}
void run()
{
//此处除了车牌和颜色,还加入了对时速的打印输出;
System.out.println("ID: "+ID+" colour: "+colour+" speed : "+speed+" kilometres per hour");
}
}
public class CarDemo
{
public static void main(String[] args)
{
Car c[] = new Car[3];
//父类的引用指向子类的对象;
c[0] = new Truck("FY-999","blue");
c[1] = new Roadster(210,"BJ-001","white");
c[2] = new Roadster("GY-888","red",200);
for(Car car :c)
{
car.run(); //不同的子类对象可以用foreach循环一起调用;
}
}
}
复制代码
运行效果:
easy.jpg
(57.74 KB, 下载次数: 15)
下载附件
2014-6-28 14:58 上传
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2