面向对象的重要特征--继承

     通过对面向对象的理解,面向对象有四大特点:抽象性、封装性、继承性和多态性。
  而我们来了解的就是面向对象的最重要特征继承:
    继承就是一种联结类的层次模型,并且继承允许和鼓励类的重用。使用继承可以很好的
  表述共性的方法,也能更好的体现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;
	}
}

  

时间: 2024-10-05 23:27:11

面向对象的重要特征--继承的相关文章

面向对象的三大特征:继承 封装 多态

面向对象: 面向对象专注于由谁来解决这个过程,而调用者无需关注对象实现的细节 编程特点: 出现了一个个的类,从类中拿到对象,通过对象直接解决问题 类:具有一系列相同属性(特征)和方法(行为)的个体的集合 称为类 类是一个抽象的概念,只能说类具有哪些属性而不能直接对类进行赋值 例如 人类有身高这个属性,但是不能说人类的身高是180 对象:从类中拿出具有具体属性值的个体,称为对象 对象是从类中拿出的一个具体的个体,需要对属性进行具体的赋值 例如 人类有身高这个属性,张三是人类的一个个体,就可以说张三

C#面向对象的三大特征继承、封装、多态学习总结

1.基类和扩充类 (1)C#实现继承的方式:类继承和接口继承 (2)继承用冒号(:)表示.被继承的叫做父类或者基类,从基类继承的类叫扩充类,又叫派生类或子类.所有类的基类System.Object 声明方式:[访问修饰符]class 扩充类名称:基类名称 { } 若B继承自A,也可以使用强制转换操作将其转换为A对象.如:A b=(A)new B();此时,B对象将被限制为A对象的数据和行为,而无法再访问B对象中的数据和行为,除非A中的方法被B重载,将会访问B的方法.将B强制转换为A后,还可以将A

python面向对象的三大特征--继承

#什么时候用继承 #1.当类之间有显著不同,并且较小的类是较大的类所需的组件时,用组合比较好 #2.当类之间有很多相同的功能,提供这些共同的功能做成基类,用继承比较好 class Dad: "这个是爸爸类" money=10 def __init__(self,name): print("爸爸") self.name=name def hit_son(self): print("%s 正在打儿子" %self.name) class Son(Da

Java面向对象编程三大特征 - 多态

Java面向对象编程三大特征 - 多态 本文关键字:Java.面向对象.三大特征.多态多态是面向对象编程的三大特征之一,是面向对象思想的终极体现之一.在理解多态之前需要先掌握继承.重写.父类引用指向子类对象的相关概念,对继承还没有完全明白的同学可进传送门:Java面向对象编程三大特征 - 继承. 一.抽象类 在继承中,我们已经了解了子父类的关系以及如何对子父类进行设计,如果已经存在多个实体类,再去定义父类其实是不断的抽取公共重合部分的过程,如果有需要将会产生多重继承关系.在抽取整理的过程中,除了

面向对象的三大特征——封装、继承、多态

接触过面向对象的人都知道面向对象有三大特征,分别是封装.继承和多态.这三者分别指的是什么,为什么是这哥仨,使用他们有什么好处,我们来梳理一下. 封装 原则:隐藏对象的属性和实现细节,仅对外提供公共访问方式. 好处: ①将变化隔离. ②便于使用. ③提高重用性. ④提高安全性. Demo1: 比如一个学生类:他具有姓名和年龄两个属性,但是为了提高安全性和重用性,便于使用,我们将其封装起来. public class Student { private String name; private in

面向对象的三大特征中的 “继承” 和继承的几种方式

学习继承之前,要先了解什么是面向对象:(把相同的代码提取(抽象)出来归为一类,把公共的方法挂在 这个类的原型上 的一种编程思想(开发模式)) >>原型和原型链,在,面向对象,的那个随笔分类里有细说.<< 面向对象的三大特征:抽象.封装.继承.(多态) 抽象:提取类似的部分. 封装:归类的过程. 继承:子类拥有父类的属性或者方法,自己也有自己的一套属性和方法. /******************************** 下面开始这篇随笔的主题:继承 和 继承的几种方式****

面向对象的三大特征,封装、继承、多态的个人理解以及代码分析

面向过程:我们以前使用的是面向过程编程,你需要清除每个实现步骤,每个步骤每行代码都要仔仔细细的编写, 不知道过程就找不到结果,找到实现过程就可以得到实现结果. 例如: 我们在外打工租房子,我们需要了解每个每个房屋的出租信息,不然是找不到房子的. 面向对象:对象帮我们做事情,找到对应的对象我们就可以得到想要的结果.    例如: 我们找房子不在如此的繁琐,只要找到中介我们就不怕没有地方住,中介会帮你找房子,你只需支付对应的服务费即可. 面向对象的三大特征给我们带了巨大的好处,下面我们就来讲解一下.

面向对象之封装和继承

面向对象的三大特征:封装.继承.多态. 面向对象编程之封装: 封装就是把对象的属性和行为结合成一个独立的相同单位,并尽可能隐蔽对象的内部细节 有一个最大的优点:信息隐蔽,封装即隐藏. PHP 中通过将数据封装.声明为私有的(private),再提供一个或多个公开的( public)方法实现对该属性的操作,以实现下述目的: 隐藏一个类的实现细节: 防止对封装数据的未经授权的访问.使用者只能通过事先定制好的方法来访问数据,可以方便地加入控制逻辑,限制对属性的不合理操作: 有利于保证数据的完整性: 便

PHP面向对象详解:继承、封装与多态

首先,在解释面向对象之前先解释下什么是面向对象? [面向对象]1.什么是类? 具有相同属性(特征)和方法(行为)的一系列个体的集合,类是一个抽象的概念2.什么是对象?从类中拿到的具有具体属性值得个体,称为对象,对象是一个具体的个体 所以,面向对象即我们专注对象来处理问题,通过从一个个具有属性和功能的类中拿到对象来处理问题. 下面我们再来细说下面向对象的三大特征:继承/封装/多态 一.继承 在PHP中我们主要通关Extends关键字来实现继承   ->class Student extends P