首页 / JAVA / java – 使用多态?
java – 使用多态?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java – 使用多态?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2542字,纯文字阅读大概需要4分钟。
内容图文
![java – 使用多态?](/upload/InfoBanner/zyjiaocheng/810/faa9f7374c2d4566a6e372caa10b6cdd.jpg)
员工类
public class Employee {
protected String name;
protected String jobsheetnumber;
public Employee(String n,String j){
this.name = n;
this.jobsheetnumber = j;
}
public Employee(String name)
{
this.name = name;
}
public String getName() {
return name;
}
public String getJobsheetnumber() {
return jobsheetnumber;
}
public void setName(String name) {
this.name = name;
}
public void setJobsheetnumber(String jobsheetnumber) {
this.jobsheetnumber = jobsheetnumber;
}
}
机械课
public class Mechanic extends Employee{
public Mechanic(String name,String jobsheetnumber){
super(name,jobsheetnumber);
}
}
主管班
public class Supervisor extends Employee{
public Supervisor(String name){
super(name);
}
}
公司类[片段]
public class Company {
private String companyname;
private String companyaddress;
private String postalcode;
private String city;
private String country;
private String telephonenumber;
private String faxnumber;
private String province;
private Employee supervisor;
private Employee mechanic;
public Company(String companyname,String companyaddress,String postalcode,String city,String country,String telephonenumber,String faxnumber,String province,String supervisorname,String jobsheetnumber,String mechanicname)
{
this.companyname = companyname;
this.companyaddress=companyaddress;
this.postalcode = postalcode;
this.city=city;
this.country=country;
this.telephonenumber=telephonenumber;
this.faxnumber=faxnumber;
this.province=province;
supervisor = new Supervisor(supervisorname);
mechanic = new Mechanic(mechanicname,jobsheetnumber);
}
Employee Class是Mechanic和Supervisor类的超类.现在我使用Employee的属性,即子类Mechanic和Supervisor Class中的name和jobsheetnumber
代码工作正常..但如果我想在Mechanic和Supervisor中添加扩展功能怎么办?然后我无法访问这些变量,因为引用是Employee类型对象.
这是正确使用多态吗?我们每次创建Supervisor / Mechanic对象的引用时都必须使用super()作为构造函数?
我们不能在Supervisor和Mechanic Class中使用扩展功能吗?
解决方法:
如果要调用超类非零arg构造函数然后是,则必须显式调用它.如果超类构造函数没有参数,那么将为您插入调用.
多态性的要点是,对象可以自己处理,而不必让程序的其余部分对它们进行微观管理,因此外部程序通过引用具有接口或超类的类型来引用它们,而不必知道确切的具体类型.例如,所有员工可能都有一种工作方法,其中该工作采用与主管不同的形式,而不是机械师;工作方法将被特定的子类覆盖,并可能调用子类上的特定方法.因此,公司可以遍历所有员工并调用每个员工的工作,同时为员工的不同子类定义不同的工作.
(实际上,使用子类来描述角色的工作太不灵活,因为员工可能有多个角色,或者这些角色可能会随着时间的推移而发生变化.通常最好使用组合,这里将角色对象分配给员工.)
内容总结
以上是互联网集市为您收集整理的java – 使用多态?全部内容,希望文章能够帮你解决java – 使用多态?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。