您的位置:首页 > 职场人生

黑马程序员-抽象方法的继承

2015-07-22 19:42 501 查看
------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------

当多个类中出现了相同功能但功能主体不同 ,这时可以进行向上抽取,这时,只抽取功能定义,而不抽取功能主体;

 

抽象:看不懂。

抽象类特点:

1:抽象方法一定在抽象类中。

2:抽象方法和抽象类必须被abstract关键字修饰

3:抽象类不可以用new创建对象,因为抽象方法没意义

4:抽象类中的方法要被覆盖,必须有子类函数复写所有的抽象方法后,建立子类的对象调用;

    如果子类只覆盖了部分抽象方法,那么该子类还是一个抽象类;

 

抽象类和一般类没有什么太大不同

该怎么描述就怎么描述

 

 

 

 

 

假如我们在开发一个系统是需要对员工进行建模,员工包含3个属性;

姓名、工号以及工资。经理也是员工,除了含有员工的属性外,还有一个奖金属性,请使用继承的思想设计员工类和经理类。

要求类中提供必要的方法进行属性访问;

 

员工类:name id pay

经理类:继承了员工,并有自己特有的bonus.

 

[java] view
plaincopy

abstract class Employee  

{  

    private String name;  

    private String id;  

    private double pay;  

  

    Employee (String name,String id,double pay)  

    {  

        this.name=name;  

        this.id =id;  

        this.pay=pay;  

    }  

    public abstract void work();  

}  

class Manager extends Employee  

{  

    private int bonus;  

    Manager(String name,String id,double pay,int bonus)  

    {  

        super(name,id,pay);  

        this.bonus=bonus;  

    }  

    public void work()  

    {  

        System.out.println("manager work");  

    }  

}  

class pro extends Employee//普通员工  

{  

    pro(String name,String id,double pay)  

    {  

        super(name,id,pay);  

    }  

    public void work()  

    {  

        System.out.println("pro work");  

    }  

}  

class AbstractDemo  

{  

    public static void main(String[] args)  

    {  

        new Manager("lisi","909",923.7,234).work();  

        new pro("lisi","909",923.7).work();  

    }  

}  

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: