Java语言入门教程(十二):Java语言中继承之基本概念.doc
上传人:sy****28 上传时间:2024-09-15 格式:DOC 页数:3 大小:14KB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

Java语言入门教程(十二):Java语言中继承之基本概念.doc

Java语言入门教程(十二):Java语言中继承之基本概念.doc

预览

在线预览结束,喜欢就下载吧,查找使用更方便

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

Java语言入门教程(十二):Java语言中继承之基本概念时间:2011-06-13csdn博客taomoon719-从教程(十)开始,已经从学习单个类的基本语法,转到了学习多个类之间的关系。教程(十)中,学习了类与类长间的两种关系,关联和依赖。为了维护1对多的关系,在教程(十一)中,学习了数组。除了关联和依赖,类与类还有一种非常重要且常见的关系,就是继承。本文将介绍继承的概念、作用、使用场景等。假设有这样一个简单需求(其实谈不上是需求,仅仅为了初学者容易理解而编造):某培训中心要开发一个内部员工管理系统。该培训中心目前有两个部门,技术资源部和业务部。技术资源部的员工负责讲课,称为讲师。业务部员工负责联系洽谈业务,称为销售。在管理系统中,需要管理的是所有员工的姓名、薪水,以及讲师的技术方向,销售的任务量。…..对上述简单描述,让我们分析一下,该培训中心的系统中,主要管理的对象是什么?不难看出,主要是两种员工,即讲师和销售。讲师和销售有不同之处,如讲师有授课方向属性,销售有任务量属性,二者还有很多相同之处,比如都需要管理其名字,薪水。也就是说,如果我们创建两个类,Trainer类,Sales类,那么这两个类中一定有相同的部分。面向对象编程的一大目标就是重复使用,我们如何能让多个类中相同的部分能重复使用哪?就可以借助继承这一特性来完成。可以说,继承的主要目的是为了重复使用。我们可以把多个类中相同的部分抽取出来,放到一个类中,这个类叫父类,或者超级类,其他的类可以继承这个类,从而重用该类中的属性和方法,这些类叫子类,或者衍生类。在Java语言中,继承使用extends关键字完成。接下来,我们使用代码,把培训中心的员工类进行展现。packagecom.csst.inherit;publicclassEmployee{privateStringname;privatedoublesalary;publicEmployee(){}publicEmployee(Stringname,doublesalary){super();this.name=name;this.salary=salary;}publicStringgetName(){returnname;}publicvoidsetName(Stringname){this.name=name;}publicdoublegetSalary(){returnsalary;}publicvoidsetSalary(doublesalary){this.salary=salary;}}packagecom.csst.inherit;publicclassTrainerextendsEmployee{privateStringcourse;publicTrainer(){}publicTrainer(Stringname,doublesalary,Stringcourse){super(name,salary);this.course=course;}publicStringgetCourse(){returncourse;}publicvoidsetCourse(Stringcourse){this.course=course;}}packagecom.csst.inherit;publicclassSalesextendsEmployee{privatedoubletask;publicSales(){super();}publicSales(Stringname,doublesalary,doubletask){super(name,salary);this.task=task;}publicdoublegetTask(){returntask;}publicvoidsetTask(doubletask){this.task=task;}}packagecom.csst.inherit;publicclassTestEmployee{/***@paramargs*/publicstaticvoidmain(String[]args){//TODOAuto-generatedmethodstubSalessale=newSales("Kate",3000,100000);System.out.println("sale.name:"+sale.getName()+"sale.salary:"+sale.getSalary()+"sale.task:"+sale.getTask());Trainertrainer=newTrainer