面向对象的java语言课件第一章节

上传人:wuli****0220 文档编号:248006034 上传时间:2024-10-21 格式:PPT 页数:26 大小:280.32KB
返回 下载 相关 举报
面向对象的java语言课件第一章节_第1页
第1页 / 共26页
面向对象的java语言课件第一章节_第2页
第2页 / 共26页
面向对象的java语言课件第一章节_第3页
第3页 / 共26页
点击查看更多>>
资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,Java程序设计,讲课实验,48学时讲授,16学时上机实验,考核,期末考试70,实验+平时表现30,教材,Java面向对象程序设计,张桂珠.北京邮电大学出版社,参考书:Thinking in Java,http:/,东北林业大学信息学院 402 纪明宇,程序设计语言分类,Machine language-国内第一个汇编作品WPS,C/C+,Pascal:编译型语言。以机器指令形式执行,与环境有关,可移植性不强。,Basic,Perl:解释型语言,由解释器逐行解释执行源程序,进行执行。效率不高,但可以在不同平台上通过,解释器,解释执行。,Java,介于2、3之间,第一章 面向对象程序设计,教学目标,比较面向对象与面向过程程序设计,类与对象,封装与信息隐藏,继承,多态性,面向对象的建模和UML,1.1面向对象与面向过程程序设计,面向过程程序设计,程序由多个,模块,构成,程序组成单位:,过程或函数,问题的解决方法:自顶向下的功能分解法,一个要解决的问题被分解成若干个子问题,每个子问题又被划分成若干个子子问题。这种自顶向下的功能分解一直持续下去,直到子问题足够简单,可以在相应的子过程中解决。,存在,问题,:把数据和处理数据的过程分离,。,可复用性差、开发和维护都很困难。,面向过程程序设计,int max(int num1,int num2),if(num1num2),return num1;,else,return num2;,图1-1:自顶向下的功能分解与程序结构,面向对象程序设计,将数据及对数据的操作行为放在一起,作为一个相互依存、不可分割的整体对象。,程序由类组成,:对相同类型的对象进行分类、抽象后,得出共同的特性而形成了,类,。,面向对象其实是现实世界模型的自然延伸。,现实世界中任何实体都可以看作是对象,都归结为某一类事物,都是某一类事件的实例。,对象之间通过消息(,方法,)相互作用,完成系统功能。,1.2 类与对象,面向对象的设计:,将客观事物(或实体)看作具有属性和行为(或称服务)的对象(,object,),通过抽象找出同一类对象的共同属性(静态特征)和行为(动态特征),而形成,类,(class),的概念。,程序的执行,表现为,一组对象之间的交互通信,。对象之间通过公共接口进行通信,从而完成系统功能。,类是相同对象的集合的描述,。,例如,类Human就是现实世界中人(对象)的集合,我、你、他都是Human的对象。,分析类Human的所有对象人,得到对象的共同的数据属性和行为,如下所示:,数据属性:编号、姓名、年龄,,行为:吃饭、走路、跳舞,1.2 类与对象(续),定义Human,类,:,c,lass Human,int no;编号,String name;姓名,int age;年龄,void eat(),Human被称作类名。,no,name,age被称作,成员变量,或域,eat()被称作,方法,,,成员,变量,和方法都是类的成员。,1.2 类与对象(续),在面向对象的编程语言中,,类是一个数据类型,对象是类的实例,(instance)。,对象引用变量:具有类类型的变量被称作,对象引用,(object reference)。,例如,Human p1=new Human(1,“张三”,20,);,p1被称作对象引用变量,new Human(1,”张三“,20,)被称作Human的对象。,对象,对象:是用来描述,现实世界中实际存在的事物,的实体,,它是用来构成系统的一个单位。,对象由一组属性和一组行为(,操作或服务),构成,。,对象具有固定的,对外接口,.,一组属性和操作的集合.,对象之间通过公共接口进行通信.,对象的状态:,对象的属性值,表示了它所处于的状态;,对象的操作,是用来改变对象状态。,1.3 封装与信息隐藏,封装,(Encapsulation)是面向对象方法的重要原则。,就是把对象的属性和操作(或服务)结合为一个独立的整体(系统单位),并尽可能隐藏对象的内部实现细节。,封装有两个含义:,其一,把对象的全部属性和全部服务结合在一起,形成一个不可分割的独立单位。,其二,“信息隐蔽”,尽可能隐蔽对象的内部细节,对外界形成一个边界,只保留有限的对外接口使之与外部发生联系。,1.3 封装与信息隐藏(续),数据封装的作用:,(1)对象的数据封装特性彻底消除了传统结构方法中数据与操作分离所带来的种种问题,提高了程序的可复用性和可维护性,降低了程序员保持数据与操作相容的负担。,(2)对象的数据封装特性还可以把对象的私有数据和公共数据分离开,保护了私有数据,减少了可能的模块间干扰,达到降低程序复杂性、提高可控性的目的。,1.3 封装与信息隐藏(续),Java语言中,定义类时通过大括号 封装了类的成员:,域(fields)和方法(methods),,,使用private和public等关键字来控制对类的成员的访问,其中private修饰的成员是隐藏的,而public修饰的成员则定义了类对外的公共接口。,类作为一个抽象的数据类型,允许用户从底层实现细节中抽象出来,提供给用户的是在公共接口上的上层操作。这是,抽象性,的含义。,1.4 继承,Inheritance,继承:在已有类(父类或超类)的基础上派生出新的类(子类),新的类能够吸收已有类的属性和行为,并扩展新的能力,。,继承机制中,往往从一组类中抽象出公共属性放在父类。,继承支持着软件代码的复用,是提高软件开发效率的重要因素之一。,继承的例子,例如,给定类,Car,、,Motocycle,和,Truck,,我们把它们的公共属性放在一个称为,Vehicle,的公共父类中。,Vehical,Car,Motocycle,Truck,继承的例子,苹果,梨,西瓜,水果,继承的例子,Circle,Rectangle,Shape,1.4 继承(续),Java,中的继承的一个例子:给定一个,Window,类,通过继承扩展它而得到一个子类,MenuWin,。,class Win,/Win的,成员定义,class MenuWin extends Win,/MenuWin新增加成员的定义,1.4 继承(续),继承分为单继承和多继承,。,单继承是指一个子类最多只能有一个父类。,多继承是一个子类可有二个以上的父类。由于多继承会带来二义性,在实际应用中应尽量使用单继承。,Java,语言中的类只支持单继承,而使用接口支持多继承。,如何设计继承并完成继承层次是面向对象设计和编程的核心问题。继承是多态性的前提条件。,object,Win,DialogWin,单继承,in java,Class 1,Class 4,Class 2,Class 3,多继承,in C+,1.5 多态性,多态性,(Polymorphism),:指在超类中定义的属性或行为,被子类继承之后,可以具有不同的数据类型或表现出不同的行为。,这使得同一个属性或行为在超类及其各个子类中具有不同的语义。,1.5 多态性(续),例如:定义一个几何图形类Shape,它具有“画图”行为,用draw()表示。但具体画什么图并不确定;定义Shape类的一些子类如Circle圆和Rectangle矩形。在子类中“画图”的具体行为可重新定义为:圆类中draw()画圆,矩形类中draw()画矩形。,定义Shape s;s作为引用变量可指向Circle圆类的对象,也可指向Rectangle矩形类的对象。通过执行下面的代码:,s.draw();,/s调用draw()方法,s指向对象不同会画出不同的图形(圆或,矩形,),1.6 面向对象的建模和UML,统一建模语言(Unified Modeling Language,UML)是一种流行的建模语言。,UML是一种图形化语言,允许系统构造人员(即软件设计师、系统工程师、程序员等)用一种通用表示法描述系统的需求以及面向对象的分析和设计结果。,1.6 面向对象的建模和UML(续),作为一个建模语言,UML由一个用于表达模型的词汇表和一个定义怎样组合词汇的语法规则构成,即:,UML=UML词汇表+UML建模的语法规则,UML词汇表=UML 事物+关系+模型图。,UML 事物(Thing),:就是被模拟的实体或对象。事物可能是包、类、接口等等。,事物之间的语义上的联系,:用关系表示,UML中共有4种关系,它们是:依赖关系、关联关系、泛化关系和实现关系。,从软件的体系结构出发,,UML把软件模型分成了四个视图:用例视图、逻辑视图、实现视图和分布视图。,在本书的有关章节中,案例分析和设计的结果用UML图形化表示,使读者对UML有一个感性化认识。,小结,比较了面向过程程序设计与面向对象程序设计方法各自的特点。,面向对象编程和设计关键性的概念:,类是一组对象集合的描述。,对象是类的一个特例,对象通过接口交互;,引用变量的类型是某个类的变量,其值是对象的地址(或称做指向一个对象)。,封装性、抽象性、继承性和多态性必须在以后的程序设计中体现。,UML是面向对象的建模语言。,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!