欢迎来到天天文库
浏览记录
ID:39968827
大小:290.50 KB
页数:43页
时间:2019-07-16
《java3面向对象程序设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、面向对象的程序设计第3章本章总体纲要类、域、方法和实例对象继承性多态性包(package)封装性关键字abstract、static、final和this接口内部类变量作用域范围和参数传递方式面向对象程序设计基本思想23.1类、域、方法和实例对象目标1面向对象的概念对象和类的概念面向对象的三大基本特征:封装、继承、多态2类类的定义类的成员:成员变量和成员方法构造方法3对象对象的创建和引用Java的垃圾回收机制3思考开发一个在线考试系统,需要创建哪些类?这些类的成员分别有什么?41面向对象的概念5对象对象
2、是具有某些特殊属性(数据)和行为方式(方法)的实体。可以是有生命的个体,比如一个人或一只老虎。也可以是无生命的个体,比如一辆汽车或一台计算机。也可以是一个抽象的概念,如天气的变化或鼠标所产生的事件。两个特征:属性(Property)和行为(Behavior)如:一个人的属性有:姓名、性别、年龄、身高、体重等行为有:唱歌、打球、骑车、学习等。6从众多对象中归纳出“类”电视机A品牌:飞利浦型号:34寸高清行为:开关选频道调声音颜色抽象电视机类品牌:型号:行为:从类实例化一个对象电视机B品牌:LG型号:21寸
3、纯平行为:开关选频道调声音颜色电视机C品牌:东芝型号:44寸液晶行为:开关选频道调声音颜色7类的属性和行为-----类的成员从类实例化一个对象属性行为成员变量(也称成员域)成员方法类的成员8类类是具有共同属性和行为的对象的抽象。类可以定义为数据和方法的集合。对象具有特殊属性和行为方式的实体。类对象抽象实例化封装的实体=数据+方法操作或行为属性或状态成员方法成员变量9消息单一对象的存在并没有多大的作用,只有多个对象相互作用才会完成复杂的行为。对象和对象之间是通过传递消息来完成相互通信的。一个消息由三方面内
4、容组成:1)消息的接收者,即消息的目标对象;2)接收对象采用的方法;3)执行方法所需用的参数(Parameters)。例如:一辆自行车放在车棚中并没有什么用,当我们人骑上它,并加速时才体现它的作用,其中接收者(自行车),采用的方法(加速),所需的参数(上升到更高的档位)。10面向对象的基本特征1.封装:将数据成员(DataMember)和属于此数据的操作方法(OperatingMethod),放在同一个实体(Entity)或对象中。2.继承:父类定义(Define)一些通用的属性与行为,其子类继续使用。
5、3.多态:在同一个类中可有许多同名的方法,但其参数数量与数据类型不同,而且操作过程与返回值也可能会不同。(1)模块化(2)信息隐藏(1)实现代码复用(2)简化设计过程解决其他语言中不能重名的问题11面向对象的基本特征:封装定义电视的内部结构开电视关电视选择频道调节声音,色彩对象接口12面向对象的基本特征:封装举例“学生对象”的内部数据:个人基本信息(年龄、身高、家庭信息)在校情况(专业,班级,宿舍,任职等)选修课表成绩清单(考试,课程设计,毕业设计成绩)入学/注册修课/考试查询成绩毕业答辩只能通过接口来
6、操作对象,不能随意修改内部数据13面向对象的基本特征:继承家电类(父类)数据:功率品牌型号方法:启动,停止电视机类(子类)数据:功率品牌型号尺寸方法:启动,停止选频道调色彩声音冰箱类(子类)数据:功率品牌型号容量功能方法:启动,停止调温度,开关门自动拥有父类的数据,方法新增自己需要的数据和方法继承子类继承其父类的所有变量和方法还可以增加自己需要的变量和方法虚框:该类的对象14类继承的实现被继承的类称为父类继承父类的类称为子类执行继承时,子类将获得父类的属性,并具有自身特有的属性。Emoloyee类:na
7、mesexWorker类:categoryressAllowanceOfficer类:empClassvehicle工人类,继承了父类的姓名和性别属性外还包含类别和是否有服装津贴属性主任类,还包含级别和是否配备交通工具属性职员类,具有姓名和性别两个属性15多继承:一个类有多个父类,即直接继承多个类多继承汽车类汽车属性汽车行为武器类武器属性武器行为坦克类武器属性武器行为汽车属性汽车行为注:Java类只能有一个父类16面向对象的基本特征:多态家电类(父类)数据:功率品牌型号方法:启动,停止电视机类(子类)数
8、据:功率品牌型号尺寸方法:启动,停止选频道调色彩声音冰箱类(子类)数据:功率品牌型号容量功能方法:启动,停止调温度,开关门启动电视:显示图像,声音启动冰箱:开始制冷消息:启动继承多态:相同的消息被送到不同的对象时有不同的实现继承172类18类的定义类的定义格式如下:[类修饰词]class类名[extends父类名][implements接口名称列表]{类体}extends关键字用于继承类implement关键字用于实现接口类的修饰符用于说明
此文档下载收益归作者所有