zoukankan      html  css  js  c++  java
  • 黑马程序员——java抽象类详解


    ---------------------- <a href="http://edu.csdn.net/heima" target="blank">android培训</a>、<a href="http://edu.csdn.net/heima" target="blank">java培训</a>、期待与您交流! ----------------------


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


    抽象:看不懂。


    抽象类的特点:
    1、抽象方法一定在抽象类中。
    2、抽象方法和抽象类都必须被abstract关键字修饰。
    3、抽象类不可以用new创建对象,因为调用抽象方法没意义。
    4、抽象类中的抽象方法要被使用,必须由子类复写起所有的抽象方法后,建立子类对象调用。
     如果子类只覆盖了部分抽象方法,那么该子类还是一个抽象类。




     抽象类和一般类没有太大的不同。
     该如何描述事物,就如何描述事物,只不过,该事物出现了一些看不懂的东西。
     这些不明确的部分,也是该事物的功能,需要明确出现,但是无法定义主体。
     通过抽象方法来表示。


     抽象类比一般类多了个抽象函数。
     抽象类不可以实例化。


    注意:抽象类中可以不定义抽象方法。这样做仅仅是为了让子类继承它时候要覆盖被抽象的方法。起控制的功能。
     */




    举例


    /*假如我们在开发一个系统时需要对员工进行建模,员工包含3个属性:
    姓名、工号、以及工资。经理也是员工,出了含有员工的属性外,另外还有一个奖金属性,
    请使用继承的思想设计出员工类和经理类。要求类中提供必要的方法进行属性访问。




    员工类:name id pay


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


    */

    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;
    }
    abstract public void work();
    }


    class Manager extends Employee
    {
    private double bonus;
    Manager(String name,String id,double pay,double 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");
    }

    }


    ---------------------- <a href="http://edu.csdn.net/heima" target="blank">android培训</a>、<a href="http://edu.csdn.net/heima" target="blank">java培训</a>、期待与您交流! ----------------------

    详细请查看:<a href="http://edu.csdn.net/heima" target="blank">http://edu.csdn.net/heima</a>

  • 相关阅读:
    FSL
    64位MicrosoftOfficeWord加载EndnoteX7
    Lobes of the brain
    Anterior and posterior commissures
    Broadmann area (wiki)
    Broadmann分区
    matlab FDR校正
    AI图片剪切
    DPABI advanced edition 文件夹组织形式
    Frequently Asked Questions
  • 原文地址:https://www.cnblogs.com/kuyuyingzi/p/4266438.html
Copyright © 2011-2022 走看看