封装继承多态

上传人:1537****568 文档编号:359549220 上传时间:2023-08-31 格式:PPT 页数:196 大小:7.07MB
返回 下载 相关 举报
封装继承多态_第1页
第1页 / 共196页
封装继承多态_第2页
第2页 / 共196页
封装继承多态_第3页
第3页 / 共196页
封装继承多态_第4页
第4页 / 共196页
封装继承多态_第5页
第5页 / 共196页
点击查看更多>>
资源描述

《封装继承多态》由会员分享,可在线阅读,更多相关《封装继承多态(196页珍藏版)》请在金锄头文库上搜索。

1、()类的封装继承多态类的封装继承多态语默制造本单元内容概述本单元内容概述类类的封装性类的继承superthisthis作为补充的重要内容)final多态实例(instance)成员和类成员方法的重载类和对象类和对象语默制造基本概念基本概念对象 Object类 Class实例 Instance接口 Interface类型 Type引用 Reference包 Package封装 Encapsulation继承 Inharitance多态 Polymorphism面向对象面向对象语默制造 所谓面向对象的方法学,就是使我们分析、设计和实现一个系统的方法尽可能地接近我们认识一个系统的方法。包括:面向对象

2、的分析(OOA,Object-Oriented Analysis)面向对象的设计(OOD,Object-Oriented Design)面向对象的程序设计(OOP,Object-Oriented Program)面向对象技术主要围绕以下几个概念:对象、抽象数据类型、类、类型层次(子类)、继承性、多态性。对象对象语默制造变量:指对象的所知道的状态方法:指对象的功能单元。消息:软件对象通过相互间传递消息来相互作用和通信。一个对象调用另一对象的某个方法一个消息由三部分组成:1.接受消息的对象2.要完成方法的名字3.方法需要的参数对象B对象 Amessage对象对象语默制造所有东西都是对象。可将对象想

3、象成一种新型变量;它保存着数据,但可要求它对自身进行操作。java程序是一大堆对象的组合;通过消息传递,各对象知道自己该做些什么。每个对象都有自己的存储空间,可容纳其他对象。每个对象都有一种类型。同一类型所有对象都能接收相同的消息。类和对象类和对象语默制造对象(实例instance):实际个体创建某个类的具体对象(类似变量声明)类(class):抽象的集合概念 系统类库中已定义好的类用户自定义的类 属性:状态,静态特性的描述。方法:行为,动态特性的描述。是一个软件单元,它由一组结构化的数据和在其上的一组操作构成。Mary类Person将对象进行抽象为类对类进行实例化对象的引用对象的引用语默制造

4、0 xbb22p20ageclass Person int age;public class ObjtoObj public static void main(String args)Person p1=new Person();Person p2=new Person();p1.age=20;p2.age=30;System.out.println(p1.age:+p1.age+p2.age:+p2.age);p1=p2;System.out.println(p1.age:+p1.age+p2.age:+p2.age);p1.age=25;System.out.println(p1.age:

5、+p1.age+p2.age:+p2.age);20,3030,3025,250 xbb22p230age0 xbb22p12030一个类的问题一个类的问题类的命名类的命名语默制造一个类有几个地方需要注意的:1,类名的修饰符:public abstract或者无修饰符,它们的区别是什么?2,类名:名称问题。3:成员变量或者称为属性4:方法:5:特殊的方法:构造器、属性的访问器和修改器包包语默制造 位置:程序的第一条语句存放:Sun建议Internet域名倒置编译:使用javac d.xxx.java生成与包名相同的目录结构当前目录源文件名位置:package语句若有和类定义之间默认:系统自动引

6、入java.lang包import java.lang.*路径:classpath:做为特殊的根目录使用,从这里展开对.class文件的搜索。可能会增加编译时间若不引入 则使用全称构造构造语默制造构造器:用来构造新的对象的,新的对象里有类的属性和方法。构造器的特点:1:构造器必须与类名相同。2:每个类都必须有一个或者一个以上的构造器。3:构造器可以有参数也可以没有参数。4:构造器肯定没有返回值。5:构造器肯定是伴随着new方法来操作的。6:构造器生成的对象肯定是在堆中(可以不记)。修饰符:很多 abstract,final,native,static,synchronized属性和方法属性和方

7、法语默制造注意:类A中有这样的属性:public A a;这是什么?属性:成员变量,类变量和局部变量,常量,类对象方法:成员方法,类方法Static关键字关键字语默制造注意:类A中有这样的属性:public A a;这是什么?属性:成员变量,类变量和局部变量,常量,类对象(实例)方法:成员方法,类方法Static关键字关键字语默制造 加static修饰的成员是类成员静态成员,就是可以由一个类直接调用Integer.parseInt(),为所有对象共有的。类方法只能操作类变量静态类:通常一个普通类不允许声明为静态的,只有内部类才可以。不加static修饰的成员是对象成员实例成员,也就是归每个具体

8、对象所有的。static:静态修饰符。所谓静态就是指在编译后所分配的内存会一直存在,直到程序退出内存才会释放这个空间。类的封装性类的封装性语默制造什么是面向对象?什么是面向对象?简单的说,面向对象编程(Object Oriented Programming,简称OOP)描述的是对象之间的相互作用。面向对象的特点?面向对象的特点?封装、继承、多态面向对象编程与面向过程编程的区别面向对象编程与面向过程编程的区别:过程化程序设计先确定算法,再确定数据结构;面向对象编程先确定数据结构,再确定运算。面向过程编程的程序员,习惯于建立数据结构存放数据并定义方法(函数)来操作数据;面向对象编程的程序员则构造一

9、个对象模型,将数据与方法组织在一起。语默制造1、事物的内部实现细节隐藏起来2、对外提供间接访问隐藏数据的方式3、可维护性什么是封装封装的特点封装的特点语默制造公共数据函数函数函数函数算法数据结构数据方法方法数据方法方法面向过程程序设计面向对象程序设计对象消息消息动宾主谓如何实现的封装如何实现的封装语默制造1、常将类的成员变量声明为私有;2、常将类的成员方法声明为公有,方便调用。3、对一个变量的操作常有getXXX()和setXXX()方法进行操作封装的优点:封装的优点:就是增加软件代码的内聚性。通过增加内聚性,进而提高可复用性和可维护性。降低耦合,减少代码间相互影响,这样同样可以提高代码复用度

10、。对封装的总结对封装的总结语默制造封装优点:1、增加内聚2、降低耦合3、提高代码复用实现方式:1、常将类的成员变量声明为私有;2、常将类的成员方法声明为公有,方便调用。让方法操作属性1、事物的内部实现细节隐藏起来2、只能通过预先定义好的方法来访问数据,从而可以加入逻辑判断3、可以进行数据检查,从而保证对象信息的完整性4、便于修改,提高代码的可维护性目的:封装的最终目的封装的最终目的语默制造数据方法方法数据方法方法面向对象程序设计对象消息消息1、实现代码复用的重要手段,核心意义就在于将实现细节和数据隐藏起来。把该隐藏的隐藏起来,把该暴露的暴露出来访问控制修饰符访问权限修饰符访问权限修饰符语默制造

11、描描 述述private默默 认认protectedpublic同一类中同一包中对子类同一包中对非子类不同包中对子类不同包中对非子类不是要牢记这个表格,而是牢记表格的内容不是要牢记这个表格,而是牢记表格的内容关于封装的思考关于封装的思考语默制造概念总结:概念总结:1、请总结封装的使用原则。2、封装的优点。3,封装的意义。现在你知道为什么现在你知道为什么java使用封装了么?使用封装了么?Java的封装性是怎么回事?请大家使的封装性是怎么回事?请大家使用自己的语言对用自己的语言对java的封装性进行总结。的封装性进行总结。封装的练习封装的练习语默制造1:编写一个类student1,代表学员,要求

12、:(1)具有属性:姓名、年龄,其中年龄不能小于16岁,否则输出错误信息。(2)具有方法:自我介绍,负责输出该学员的姓名、年龄。编写测试类Student1Test进行测试,看是否符合需求。2:编写一个类Student2,代表学员,要求:(1)具有属性:姓名、年龄、性别、专业。(2)具有方法:自我介绍,负责输出该学员的姓名、年龄、性别以及专业。(3)具有两个带参构造方法:第一个构造方法中,设置学员的性别为男、专业这java,其余属性的值由参数给定;第二个构造方法中,所有属性的都由参数给定。编写测试类Student2进行测试,分别以两种方式完成对两个Student2对象的初始化工作,并分别调用它们的

13、自我介绍方法,看看输出是否正确。3:编写一个类Books,代表教材:具有属性:名称(title)、页数(pageNum)、类型(type)具有方法:detail,用来在控制台输出每本教材的名称、页数、类型具有两个带参构造方法:第一个构造方法中,设置教材类型为“计算机”(固定),其余属性的值由参数给定;第二个构造方法中,所有属性的值都由参数给定编写测试类Book3Test进行测试:分别以两种方式完成对两个Book3对象的初始化工作,并分别调用它们的detail方法,看看输出是否正确继承继承语默制造为什么会出现继承?为什么会出现继承?继承机制的意义:继承机制的意义:简化类或对象之间的接口支持软件重

14、用代码重用实际上继承的出现是为了更高程度的代码复用实际上继承的出现是为了更高程度的代码复用继承继承语默制造了解什么是继承。*继承如何使用。*掌握声明成员变量的修饰符。*熟练掌握方法的重写和重载。*了解枚举、反射和泛型等热门技术。什么是继承什么是继承语默制造在日常生活中,经常遇到如下问题。有一辆自行车,自行车有颜色和型号大小之分,而公路赛车也有颜色和型号大小之分,公路赛车多了一项速度的优势。自行车有的东西公路赛车全都有,而公路赛车有的东西自行车不一定有,它们相同地方有很多。在Java中,对于这种情况下就采用继承来完成这个功能。【范例extends01】理解什么是继承。01/这是一个类,表述的是一

15、个自行车 02public class Bike0304public String color;/自行车的颜色 05public int size;/自行车的大小,即型号060708/这是一个类,表述的是一个公路赛类09pubic class racing_cycle1011public String color;/自行车的颜色12public int size;/自行车的大小,即型号13public String speed;/公路赛车的速度14inheritance参见演示代码什么是继承什么是继承语默制造在Java中,被继承的类叫超类(superclass),继承超类的类叫子类(subcl

16、ass)。因此,子类是超类的一个功能上的扩展,它继承了超类定义的所有属性和方法,并且添加了特有功能方法。承袭了父类中属性和方法的机制(必须是符合访问条件的)或者称为:类中可以延用其他类的属性和方法的机制。继承是如何实现的:类的继承是通过Java保留的关键字extends来修饰的,通过extends的关键字表明前者具备后者的公共的成员变量和方法,在具备了所有的公共的成员变量和方法后,本身还能定义一些特有的成员变量和方法。请思考,这些被沿用的方法必须是公有的么?比较标准的定义(了解):Java继承是使用已存在的类的定义作为基础建立新类的技术,新类的定义可以增加新的数据或新的功能,也可以用父类的功能,但不能选择性地继承父类单一继承。java继承继承语默制造class Person int age;void study()void work()class Girl extends Person double moneyForDressing void shy()Java使用关键字extends定义继承不支持多重继承 extends表明要构建的新类是从一个现有类衍生的,现有类称为父类、超类、基类

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 医学/心理学 > 基础医学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号