黑马程序员_<<面向对象(多态)---03>>
---------------------ASP.Net+Android+IOS开发、.Net培训、期待与您交流! --------------------
多态:某一类事物的多种存在形态
因为有的继承,所以有了父类和子类关系,那么就提现出来了多态的特性。
当一类事物之间肯定有存在某种关系,例如儿子和父亲,学生和人,工人和人,那么他们也有共性,那么当我们划分的越细,那么子类就越多,那么我们调用相同特性的时候,就会比较麻烦,那么我们就使用父类来接受子类的对象,这样就可以调用相同的特性方法。
例如:
动物:狗,猪,兔子…等,他们都有吃的行为。
/*PCI接口*/interface PCI { void open(); void close();}/*主板*/class MainCard { public void run() { System.out.println("main cardrun"); } public void userPCI(PCI pci) { if (pci != null) {// 加入PCI上不为空, pci.open(); pci.close(); } }} /* 网卡 */class NetCard implements PCI { @Override public void close() { System.out.println("NetCard open"); } @Override public void open() { System.out.println("NetCardclose"); } } /* 声卡 */class SoundCard implements PCI { @Override public void close() { System.out.println("SoundCardopen"); } @Override public void open() { System.out.println("SoundCardclose"); } } public class TextDemo { public static void main(String[] args) { MainCard card = new MainCard(); card.run(); card.userPCI(new NetCard()); card.userPCI(new SoundCard()); } }结果:main card runNetCard closeNetCard openSoundCard closeSoundCard open