面向对象程序设计基本概念

上传人:huo****ian 文档编号:248349226 上传时间:2024-10-23 格式:PPT 页数:43 大小:251.49KB
返回 下载 相关 举报
面向对象程序设计基本概念_第1页
第1页 / 共43页
面向对象程序设计基本概念_第2页
第2页 / 共43页
面向对象程序设计基本概念_第3页
第3页 / 共43页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,第12章 基于Swing的GUI开发,*,第二章 面向对象(OO),程序设计基本概念,1,本章总体纲要,面向对象程序设计的基本思想,对象与类,封装性,继承性,接口,多态性,2,计算机世界,概念世界,现实世界,实体,抽象数据类型,类,对象,抽象,转换,抽象,实例化,3,面向对象程序设计是使用类和对象将现实世界中真实的或抽象的实体在程序中建立模型。,面向对象程序设计,4,面向对象程序设计的基本思想?,面向对象程序设计(OOP),传统:面向过程,对象例子,汽车:车轮、发动机、方向盘、座椅、车门和窗,狗:动物的子类,将,数据,(属性)和,方法,(行为或功能),封装,到类(classes)中,对象,(objects):类的实例或类本身,三个基本特性:,封装性,、,继承性,和,多态性,5,面向对象程序设计的基本概念,什么是对象(,Object,),什么是消息(,Message,),什么是类(,Class,),什么是继承(,Inheritance,),什么是接口(,Interface,),什么是多态,6,对象(Object),的概念,软件对象是现实对象在程序中的模型。,现实世界对象的两个特征:状态(state)与行为(behavior).,软件对象也具有状态与行为:,状态:以一个或多个变量保存,行为:用方法实现行为,7,对象(Object),的概念,定义:对象由变量与相关的方法结合起来构成的。,8,对象实例,一个特定的对象称为实例。,9,什么是消息,对象之间通过发送消息进行交互与通信。,10,消息的构成,消息由三部分构成:,接收消息的对象,方法名称,方法的参数,11,消息示例,12,消息机制的好处,对象的行为是通过它的方法表达的,所以消息传递支持对象之间的所有交互。,相互交换消息的对象可以在不同的进程,甚至在不同的机器上。,13,什么是类(class),A class is a blueprint,or prototype,that defines the variables and the methods common to all objects of a certain kind.,一个类是一个蓝图或样板,它定义了某一特定类的所有对象都具有的变量与方法。,14,类的定义,类的定义格式如下:,类修饰词,class,类名,extends,父类名,implements,接口名称列表,类体,15,类的结构,16,类示例-自行车,17,类的实例化,18,多个类组成的程序,很多Java程序需要多个类完成一项任务,一个文件一般只含有一个类,每个文件的长度一般不要太长,最长一般不要超过2000行,19,类中的变量与方法,变量,实例变量(instance variable),包含特定对象的状态,类变量(class variable),由类的所有实例共享,方法,实例方法(instance method),通过实例进行访问的方法。,类方法(class method),通过类进行调用的方法。,20,方法定义,与C+程序不同的是:每个方法都必须隶属于某个类,方法定义的格式:,方法修饰词 返回类型 方法名(方法的参数列表),方法体,返回类型:返回数据的数据类型,除了构造方法,一般要求返回类型:要么为,void,,要么为某种数据类型,int,、,byte,、,float,或,String,最多只能返回一个值,方法名:任何一个合法的标识符,参数列表:,用逗号(,)分隔开,21,构造方法,构造方法,在创建新的实例对象时起作用,构造方法,通常用来初始化实例对象,例如:初始化成员域或设置工作环境,构造方法,的特点:,与类同名,没有返回值,可以含有多种,构造方法,(重载),但必须具有不同的参数列表,22,默认的构造方法,如果没有显式地定义类的构造方法,则系统会为该类定义一个默认的构造方法。该构造方法不含任何参数。,这个默认的构造方法首先调用其父类的不含任何参数的构造方法,然后初始化新生成的实例的各个成员域变量,默认值:基本数值类型:,0,;,boolean,:,false,;引用数据类型:,null,最好自己写构造方法,一旦在类中定义了构造方法,系统就不会再创建这个默认的不含参数的构造方法。,23,封 装,含义:对象的变量置于对象方法的包裹之中,被对外隐藏。,优点:,模块化:,不同对象代码之间有一定独立,对象可以,在系统中方便移动。,信息隐藏:,保证修改对象信息时,不会对访问它 的对象产生影响。,24,类成员的封装性,成员(域或方法)的访问控制方式:,1)public,2)private,3)protected,4)default(缺省方式),25,什么是继承,26,什么是继承,子类,A class that is derived from a particular class.,从某个特定类派生出来的类。,父类,A class from which a particular class is derived.,派生出某个特定类的类。,27,继承的含义,子类继承父类的状态与方法。,子类可以增加新的变量和方法。,子类可以重写(Override),继承来的方法。,注:继承关系可以有多层,子类要继承它所有父类的方法与状态。,28,继承性,的实现,采用关键字,extends,public class,MountainBike,extends,Bicycle,/,29,多重继承,在有些计算机语言中,允许一个类有多个直接父类。这种继承关系称为,多重继承,Java不支持,多重继承,Java 允许一个类有多个直接父接口(,interface,),30,Java,中的Object类,Java,中的Object类是最顶层的类,所有其他的类都是它直接或间接的子类。,类型是Object的变量可以指向任意的对象。,Object提供了运行在JVM中的所有对象都需要的行为(方法)。,31,继承的优点,通过继承可以重用父类中的代码。,程序员可以定义含有一般行为的抽象类。抽象类中的很多方法是没有实现的。可以在抽象类的基础上定义特定的子类,实现具体的细节。,32,什么是接口,Java,语言中,接口是彼此不相关对象之间发生联系的手段。接口类似于一种对某种行为达成的协议。这种协议以包含在接口中的一组常量、一些方法定义的形式提出来。对象必须实现接口,才能具有某种行为。,接口机制中没有强制这些类之间建立超、子类关系。,33,接口(,interface,),接口(,interface,)就象是一种特殊的类,成员方法:,abstract,成员域:,final,和,static,接口(,interface,)中所有的方法和域必须都是,public,的,每个接口一般定义在一个,.java,文件中,34,实例,例1:通过接口定义一些常量,public interface,Constants,public static final,int,ONE=1;,public static final int,TWO=2;,public static final int,THREE=3;,/End of interface:Constants,例2:,interface,Shape,/This method cannot have a body.,public abstract void,mb_draw(Graphics2D g);,/End of interface:Shape,35,注意事项,接口中成员方法的默认方式是,public,和,abstract,接口中成员域的默认方式是,public,、,static,和,final,36,优点,一个类可以继承多个接口,例如:,public class,A,extends,B,implements,C,D,37,总结:接口的使用方法,一个类实现接口(,interface,),多个接口采用逗号分隔,类中必须定义接口中的所有方法,这些方法必须具有相同的声明方式,38,多态性的种类,静态的多态性,重载,动态的多态性,覆盖,39,静态的多态性(重载),在编译时就能够被识别,针对的是同一个类内的同名方法,例如:,public int,square(,int,x),return x*x;,public double,square(,double,x),return x*x;,40,识别重载方法,识别标志:,参数的个数、类型、数据类型的排列顺序,返回值不能做为识别的标志,41,动态多态性(覆盖),在程序运行时才被识别,重写父类的方法,要求相同的声明,例如:,public class,J_HelloApplet,extends,Applet,public void,paint(Graphics g),g.drawString(Hello Applet.,25,25);,/End of method:paint,/End of class:J_HelloApplet,42,动态多态性(覆盖),用父类的引用指向子类的对象,在运行时,程序可以“正确”识别并调用子类的方法,43,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


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


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

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


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