版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、108/31/2012Java程序设计纯面向对象的Java江西农大Java课题组 序赤壁之战的”面向对象”引自: 208/31/2012Java程序设计大纲OOP,OOA,OOD面向对象四大特征抽象封装继承多态对象和类概念内部类匿名类308/31/2012Java程序设计OO(Object-Oriented)面向对象以人类的思路用计算机来解决现实问题能量重用性灵活性扩展性 4OOA & OOD & OOP面向对象分析将现实世界的情况 - 编程世界的Class面向对象设计组织、设计Class面向对象编程将上面的用某种语言实现实现面向对象复用能以最小的代价满足变化,不用改变现有代码满足扩展5面向对
2、象程序设计 - 抽象抽象人脑中固有的抽象的功能为面向对象提供了平台以面向对象的观点来看:让我们去吃饭吧!怎么样提高抽象能力确定范围:面对的实际问题是什么?说马就不要从驴开始讲主执行者:由谁来执行解决这个问题?让车来动,还是人来开层次: 需要细化的粒度是哪个层次?回学校 OR 坐240回学校608/31/2012Java程序设计面向对象程序设计 - 封装隐藏复杂性人认知的局限性.门户安全性我自己的东西并不想别人篡改怎么做好封装对不对猫一定要是猫,不能是狗好不好狗就只能是狗,不能又猫又狗708/31/2012Java程序设计7面向对象程序设计 - 继承提高代码的复用性抽象一般性的行为继承覆写特殊性
3、的行为如何使用继承有强烈的“is-a”的关系特性人 & 贱人狗 & 猫有通用的扩展性的要求不会对现有的内容进行扩展,没有必要808/31/2012Java程序设计8面向对象程序设计 - 多态在公司,戏称:变态 多变的形态在人头攒动的购物广场之中一位男子不小心刮到了一位单身女生的超短裙日本美国泰国中国.etc如果是在南昌?引用: 908/31/2012Java程序设计9对象和类 - 概念一切皆为对象 Developer对象:对象是人们要进行研究的任何事物,从最简单的整数到复杂的飞机等均可看作对象,它不仅能表示具体的事物,还能表示抽象的规则、计划或事件比如:当我们尝试把所有的换成Object?睁开
4、眼(Object)看见天(Object)亮了,那是因为有光(Object),抬头(Object)望望窗(Object)外,太阳(Object)出来了1008/31/2012Java程序设计10对象和类 - 概念这样就可以理解了:睁开眼(Object:Eye)看见天(Object:Sky)亮了那是光(Object:Light),抬头(Object:Head)望望窗(Object:Window)外,太阳(Object:Sun)出来了对象的三大特性特征状态ID类对象的抽象、类的实例化就是对象1108/31/2012Java程序设计11状态和行为属性(Property)对状态的数据结构上的抽象描述12
5、点.没吃饭方法(Method)对行为数据结构上的抽象描述12点.没吃饭.老师下课.*事件(Event)对自身接受消息的抽象描述12点.没吃饭.老师不然你下课吃饭.12最后睁开(Eye.Open)眼(Object:Eye)看见(Event:I.See)天(Object:Sky)亮(Sky.Dawn)了那是光(Object:Light)抬(Head.Up)头(Object:Head)望望(I.Look)窗(Object:Window)外太阳(Object:Sun)出来(Sun.Sunup)了13总之14想要更加清楚的了解引用: 15类的语法修饰符 class extends 父类implement
6、s 接口列表(,分隔)修饰符访问控制修饰符 public,protected,private.类本身性质修饰符 final,abstract.Classextendsimplementspackage,import class.16访问权限控制Public公家的钱Protected家族的钱default家庭的钱Private自己的口袋17类体状态局部&成员 变量行为修饰符.返回类型方法名参数列表staticfinalthis18Abstract & Final抽象类无法生成对应的对象抽象概念的集合:如:生成一个车对象。Final类终极类:该类不可以作为别的类的基类效用:避免别人覆盖的修改我们的
7、方法19类成员字段初始化初始化字段直接声明,再初始化构造函数初始化代码块初始化的字段必须先于初始化先声明初始化的顺序默认赋值初始化语句和初始化代码块赋值执行构造函数(当有调用其他的构造函数时,需先调用其他的构造函数)20类成员方法方法的重载(Overload)方法签名,唯一确定一个方法 返回类型具体的原因分析传递参数的方式(Not Just Java)值传递 Call by value引用传递 Call by referenceJava是值传递,还是引用传递21类的特殊方法构造方法类同名.方法签名特殊Main方法运行类的主函数成员方法对象的行为22static变量(Variable)类的变量,
8、所有实例共享一份数值方法(Method)方法并不需要知道对应对象的状态方法只需要访问静态字段块(Block)运行任何指定的语句语法 加上static的符号23final变量只对于基本数据类型和永恒类(Immutable类)对于Mutable类,并不具有常量特性String (Immutable)Date(Mutable)方法该方法不可以被覆盖(继承)24thisthis成员方法中的隐式参数成员方法可直接调用其他的成员方法以及字段调用一个的构造函数当有通用的构造需求,可以抽象出一个抽象掉用必须是函数的第一句调用该对象的被隐藏的字段经常使用的一个把戏当类字段被参数名所隐藏时,我们仍然想要访问类字段
9、时,需要this的协助25对象来源构造函数反射构造工厂构造生存变量生存域销毁对象析构函数(C+)finalize26对象和对象变量对象(Object)New Date()对象变量(Object Variable)Date currentDate;Date currentDate = new Date();27内存分析堆,栈,常量内存区,代码内存区堆new栈int常量内存区1.0L代码内存区code28类与类之间的关系依赖(Dependency)Use-a聚合 (Aggregation)Has-a继承(Inheritance)“Is-a”29包包是什么包就是包为什么要包分门别类避免冲突创建包pa
10、ckage第一句import30内部类类的内部生存区以及外部可见性是由访问控制和外部类决定必须含有外部类的引用语法:Class outerClass Inner31内部类 可定义在方法体的内部该类只在对应的方法体内可见语法如类的内部类相同32静态内部类无需外部类的引用对外部的可见性由本身的访问控制和外部类的访问控制决定应用场景:某个类是专门为某个类服务隐藏控制的粒度更加细腻33匿名类无名之类没有类的名字是相对的,只是对于程序员没有,实际上JVM需要为该类声称对应的类文件不用编写对应的class代码,比较简洁适用于只需要使用到一个类对象时候使用如为某个button添加某个事件处理程序34设计理念总是把成员变量声明为private避免在成
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- (2026)政府采购评审专家考试真题库及参考答案
- PFMP项目组合管理专业人士模拟试题(含详细解析)
- 老旧小区改造施工安全防护专项方案
- 机械通气患者自主呼吸试验规范化实施共识
- 自身免疫性脑炎远期认知功能随访共识
- 2025-2026学年广西壮族自治区玉林市初中数学七年级期末上册点睛提升重点试卷(详细参考解析)
- 2026年消防安全常识测试题库及答案
- OHSAS18001职业健康安全管理体系考试试题及详细答案
- 帕金森病非运动症状综合管理指南(2026版)
- 2026熔化焊接与热切割理论考试题库及答案
- 小学三年级英语下册Unit 6 Im on Duty单元整体教学设计
- 2026年小学生科技素养比赛题库(300题)
- 2026新疆果业集团有限公司招聘10人笔试历年典型考点题库附带答案详解
- 沙棘讲解的课件
- 纪检监察建议书整改落实情况报告
- 2023年重庆沙坪坝区选拔社区专职工作者后备人选240人备考题库及答案解析(夺冠)
- 医疗器械岗前培训测试题(附答案)
- GB/T 14992-2025高温合金和金属间化合物牌号及化学成分
- 内科危重护理
- 幼儿园大班科学示范课《多变的天气》课件
- 《给排水管道工程技术》课件-管段水头损失计算
评论
0/150
提交评论