zoukankan      html  css  js  c++  java
  • 面向对象的重要特征继承

         通过对面向对象的理解,面向对象有四大特点:抽象性、封装性、继承性和多态性。
      而我们来了解的就是面向对象的最重要特征继承:
        继承就是一种联结类的层次模型,并且继承允许和鼓励类的重用。使用继承可以很好的
      表述共性的方法,也能更好的体现java中的重用。我们可以从一个已有的类当中扩展出一个派生类,
      派生类可以继承已有的类中的所有属性。已有的类也被称为父类、超类,派生类也被称为子类。派生类
      更为适用修改和增加特殊的的需求,这也体现大自然中特殊和一般的关系。为了更好的理解继承,我们
      通过下面的例子来了解继承:

    员工表中拿薪资的有两种,一是拿年薪的,一是按小时拿薪资的。

    /**
     * 员工父类
     * 这是拿年薪和拿时薪所共有的属性
     * @author asus1
     *
     */
    public class Employee {
    	public String name;//姓名
    	public String address;//邮寄地址
    	public int SSN;//社保号
    	public int number;//员工号
    	
    	public void println(){
    		System.out.println("邮寄支票给员工"+name+"的地址为"+address);
    	}
    }
    /**
     * 子类,继承Employee中所有属性和方法
     * 其中用到继承的关键字extends
     * @author asus1
     *
     */
    public class Salary extends Employee{
    	public double salary;//年薪,为这个类特有的属性
    	/**
    	 * 计算年薪
    	 * @return 每周拿的薪资
    	 */
    	public double computerPay(){
    		System.out.println("计算拿固定工资的员工"+name+"的工资");//name 就是继承Employee父类中的属性
    		return salary/52; 
    	}
    }
    /**
     * 拿时薪子类
     * 从Employee父类中使用关键字extends继承
     * @author asus1
     *
     */
    public class Hourly extends Employee{
    	public double hourlyRate;//没小时报酬
    	public double hoursword;//每周工作时间
    	/**
    	 * 计算时薪员工的工资
    	 * @return pay员工工资
    	 */
    	public double coumuterPay(){
    		System.out.println("计算按时付酬员工"+name+"的工资");//name 就是继承Employee父类中的属性
    		double pay = 0.0;
    		if(hoursword <=40){
    			pay = hourlyRate*hoursword;
    		}else{//计算加班工资
    			pay = (hourlyRate * 40) + (hourlyRate * (hoursword - 40)*1.5);
    		}
    		return pay;
    	} 
    }
    

      

  • 相关阅读:
    JQuery中serialize()、serializeArray()和param()方法示例介绍
    新的跨域策略:使用COOP、COEP为浏览器创建更安全的环境
    react的状态提升
    HTTP/0.9、HTTP/1.0、HTTP/1.1、HTTP/2、HTTP/3各版本之间的区别?
    面试常见的http问题
    什么是模块化?
    什么是Node js
    Asynchronous
    初识ajax
    浅拷贝与深拷贝
  • 原文地址:https://www.cnblogs.com/gzyfj/p/4393667.html
Copyright © 2011-2022 走看看