对多态的大概理解
多态的概念:多态就是一个对象的多种形态
用一张纸为例子,A4纸张是纸,A5纸张是纸,卫生纸也是纸,通俗的来说就是一种物质在不同形态下的不同状态。
多态的好处:多态不仅可以减少代码量,还可以提高代码的可扩展性和 可维护性。
多态的三要素:
1.一定要有继承
2.一定要重写
3.父类的指针,指向子类的对象
难点:本人在做关于多态题目的时候,遇到的难点是指针容易指错
解决方案:一定要清楚父类的指针指向的是哪个子类,重点是一定要指向子类!!!!
用一个例子来证明使用多态和不使用多态的区别。
用A4纸张写字,用A5纸张写字
例子一:不采用多态时的写法
class A4
{
void wirte()
{
System.out.println("用A4纸张写字");
}
}
class A5
{
void wirte()
{
System.out.println("用A5纸张写字");
}
}
class Test
{
public static void main(String[] args)
{
A4 a4=new A4();
a4.wirte();
A5 a5=new A5();
a5.wirte();
}
}
例子二:使用多态时的写法
class A4 extends paper//继承父类
{
void wirte()//实现方法
{
System.out.println("用A4纸张写字");
}
}
class A5 extends paper
{
void wirte()
{
System.out.println("用A5纸张写字");
}
}
class Test
{
public static void main(String[] args)
{
paper p=new A4();//父类的指针指向子类的对象
p.wirte();
paper a=new A5();
p.wirte();
}
}
abstract class paper
{
abstract void wirte();//这是父类,后面需要重写方法,实现自己的方法
}
这两个例子比较简单,不是特别明显减少代码块这个问题,但是在纸张种类很多的情况下,就会很明显了