欢迎来到天天文库
浏览记录
ID:48466772
大小:326.50 KB
页数:85页
时间:2020-01-18
《面向对象的程序设计.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第三章面向对象的程序设计目标面向对象的基本概念。类的声明以及成员变量、方法的声明。对象的生成和使用。继承和多态的概念及其实现。this和super的使用。类和对象抽象与封装1、抽象:仅抽取与研究工作有关的实质性的内容加以考察。如:银行业务问题,最核心的问题是所有的资金、帐目往来。根据与此核心问题有关的操作包括存款、取款、贷款、还款和这些操作所处理的数据如金额、帐号、日期等,就可以建立一个表示帐户的抽象数据类型,作为考察的重点。2、封装:利用抽象数据类型将数据和基于数据的操作封装在一起。如:银行业务模拟系统中,帐户这个抽象数据类型
2、把帐户金额和交易情况封装在类的内部,系统的其他部分没有办法直接获取或改变这些关键数据。只有通过类内部的方法才能做到。对象对象是具有某些特殊属性(数据)和行为方式(方法)的实体。两个特征:属性(Property)和行为(Behavior)如:一个人的属性有:姓名、性别、年龄、身高、体重等行为有:唱歌、打球、骑车、学习等。消息例如:一辆自行车放在车棚中并没有什么用,当我们人骑上它,并加速时才体现它的作用,其中接收者(自行车),采用的方法(加速),所需的参数(上升到更高的档位)。类类是具有共同属性和行为的对象的抽象。类可以定义为数据和
3、方法的集合。对象具有特殊属性和行为方式的实体。类对象抽象实例化封装的实体=变量+方法行为属性方法变量(数据)面向对象的基本特征1.封装:将数据成员(DataMember)和属于此数据的操作方法(OperatingMethod),放在同一个实体(Entity)或对象中。2.继承:父类定义(Define)一些通用的属性与行为,其孩子继续使用。3.多态:在同一个类中可有许多同名的方法,但其参数数量与数据类型不同,而且操作过程与返回值也可能会不同。(1)模块化(2)信息隐藏(1)实现代码复用(2)简化设计过程解决其他语言中不能重名的问题
4、类的定义类的定义格式为:[类修饰符]classname[extends父类名][implements接口列表]{typevariable1;…typevariableN;typemethodname1(parameter-list){//方法体}…typemethodnameN(parameter-list){//方法体}}成员变量(对象属性)成员方法(对象行为或操作)成员变量作用范围是整个类。与局部变量不同。可以使用修饰符来控制变量的作用范围。格式:<修饰符><数据类型><名称>(=<初值>)修饰符可以为:static:定义类
5、变量,区分实例变量。final:用来声明常量,值只能用不能改。transient:定义暂时性变量,串行化时不能保存,用于对象存档。volatile:定义共享变量,用于并发线程的共享。成员方法定义方法的一般格式:[access]typemethodname1([parameter-list]){//方法体}publicvoidsetdt(intday,intmonth,intyear){day=23;month=7;year=2003;}方法名称返回类型修饰符,可选参数列表,可选1、方法的参数传递问题简单变量中存储的是值。引用变量
6、存储的是地址。2、方法中的return语句(中止方法的运行,返回一个值。)classA{staticvoidchange(Strings,StringBuffersb){s=“aaaa”;sb.setLength(0);sb.append(“aaaa”);}publicstaticvoidmain(Stringargs[]){Strings=“bbbb”;StringBuffersb=newStringBuffer(“bbbb”);change(s,sb);System.out.println(s);System.out.pri
7、ntln(sb);}结果是:bbbbaaaapublicclassAccount{StringholderName;floatamount;publicAccount(Stringname,floatamt){holderName=name;amount=amt;}publicvoiddeposit(floatamt){amount+=amt;}publicvoidwithdraw(floatamt){amount-=amt;}publicfloatcheckBalance(){returnamount;}}对象的初始化对象的
8、声明和创建类名对象名;//声明对象名=new类名(参数);//创建或类名对象名=new类名(参数);(2)对象的构造过程为对象开辟空间,并对对象的成员变量进行缺省的初始化;对成员变量进行指定的初始化;调用构造方法。如为int时初始化为0,为char时初始化为,为
此文档下载收益归作者所有