• 10、java中的抽象类


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

    抽象:看不懂。

    抽象类的特点:
    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;
    	}
    	
    	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  
    {
    	public static void main(String[] args) 
    	{
    		System.out.println("Hello World!");
    	}
    }
    

      

  • 相关阅读:
    tp5使用外部类的三种方法
    thinkphp5中php7中运行会出现No input file specified. 这个你改个东西
    21.Yii2.0框架多表关联一对多查询之性能优化--模型的使用
    20.Yii2.0框架多表关联一对多查询之hasMany
    19.Yii2.0框架模型删除记录
    18.Yii2.0框架模型修改记录 和 修改点击量
    17.Yii2.0框架模型添加记录
    15.Yii2.0框架where单表查询
    14-15.Yii2.0模型的创建/读取数据使用,框架防止sql注入
    12.Yii2.0框架视图模版继承与模版相互调用
  • 原文地址:https://www.cnblogs.com/DamonBlog/p/4991707.html
Copyright © 2020-2023  润新知