A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

用继承-多态实现下面题目:
1.电脑上可以安装各种软件
class Soft{
        private String name;
}
class QQ extends Soft{     }
class WPS extends Soft{      }

class Computer                                          //这一步看不懂
{
     public void install(Soft  s){               }              //(Soft  s)???
}

6 个回复

正序浏览
pdog 初级黑马 2016-9-24 23:07:23
7#
意思就是QQ 是 Soft(软件 software) 的一种,
WPS也是软件的一种

你可以说QQ是QQ ,也可以说QQ是软件  (注意不能说软件是QQ)
WPS同理

在install方法里传入一个参数 参数类型是Soft
说明传入的参数可以是Soft 也可以是它的子类

而上面QQ 和WPS 都继承了Soft
所以 可以 建立一个 QQ的对象  

类名 对象名 = new 类名();
QQ qq = new QQ();         //普通创建对象的方法

//多态的
Soft qq = new QQ();          //父类引用 指向子类对象
public void install(对象){}              ///这里的对象就是刚刚建立的qq
把对象传入就好了
回复 使用道具 举报
多态 典型应用 你传如soft 就不需要针对每一种具体软件写一个实现啦
回复 使用道具 举报
刚好学到这里,但是看不懂什么意思
回复 使用道具 举报
Soft s 对着呢,但是必须是Soft的子类
回复 使用道具 举报
多态嘛,提高扩展性嘛,Soft s 类引用 参数就可以传父类,也可以传子类,,一个方法搞定啦,不用每个子类都单独定义一个啦
回复 使用道具 举报
大神在哪里,小白表示不理解
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马