《面向对象入门》PPT课件.ppt

上传人:牧羊曲112 文档编号:5619390 上传时间:2023-08-03 格式:PPT 页数:51 大小:2.25MB
返回 下载 相关 举报
《面向对象入门》PPT课件.ppt_第1页
第1页 / 共51页
《面向对象入门》PPT课件.ppt_第2页
第2页 / 共51页
《面向对象入门》PPT课件.ppt_第3页
第3页 / 共51页
《面向对象入门》PPT课件.ppt_第4页
第4页 / 共51页
《面向对象入门》PPT课件.ppt_第5页
第5页 / 共51页
点击查看更多>>
资源描述

《《面向对象入门》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《面向对象入门》PPT课件.ppt(51页珍藏版)》请在三一办公上搜索。

1、第四讲,面向对象和UML,2,回顾,循环语句while、do-while、for的区别是什么?,int i=0,j=0;while(i4)(*);i+;continue;(*);j+;i+;,*,写出运行结果,输出,3,预习检查,类与对象的关系是什么?定义一个类的语法是什么?如何创建一个类的对象?,4,本章任务,以OO(Object-oriented)方式实现:Accp学校类,描述Accp中心基本信息学生类,输出学生信息教员类,输出教员信息,5,领会面向对象编程的核心思想掌握类的含义和设计理解封装会创建和使用对象,本章目标,6,面向过程编程与面向对象编程比较,实例:编写求解矩形面积和周长的程序

2、1.面向过程的编程方法将任务分解为求解矩形面积和周长的方法编写计算矩形面积和矩形周长的函数在主程序中,调用求解计算矩形面向和周长的函数,完成程序功能2.面向对象的编程方法编写描述矩形对象的类,类中包含矩形的长、宽等属性、求解矩形面积和周长的方法在主程序中,创建一个指定长、宽的矩形对象,发送求解面积和周长的消息给矩形对象,对象作出反应,计算并返回面积和周长值,完成程序功能,7,面向过程方法与面向对象方法比较,面向过程方法:采用功能划分的方法求解问题方法强调过程的抽象和模块化函数是组成程序的基本单元 当你看到这个面积函数的时候,你知道这是求矩形的面积的函数吗?面向对象方法:侧重于采用系统结构的划分

3、方法来求解问题方法强调对现实世界的实体和概念的抽象类是组成程序的基本单元,8,面向过程编程与面向对象编程比较,结构化程序设计方法与面向对象程序设计方法地比较:结构化程序设计侧重于功能抽象,强调确定和分解系统的功能。其缺点:功能分解的随意性大系统功能最不稳定,易变化面向对象程序设计侧重于描述系统结构,功能抽象数据抽象,其优点:系统结构相对稳定灵活的机制,如继承、多态和动态绑定有利于修改和扩充系统功能,9,面向对象的设计思想,心理学研究表明,把客观世界由许多对象组成,对象具有其属性和行为,之间存在着各种联系,这样能够更好的刻画问题域,也更接近人类的自然思维方式。这就是面向对象程序开发思想的由来。面

4、向对象更加强调运用人类在日常的思维逻辑中经常采用的思想方法与原则,如抽象、继承、聚合、多态等。,10,类(对象)之间的关系-关联关系,11,类(对象)之间的关系-继承关系,12,类(对象)之间的关系-聚合关系,13,类和对象的概念,类是用于描述一类型的对象的一个抽象的概念,类中定义了这一类对象所具有的属性和行为。类可以看成一类对象的模板,对象可以看成该类的一个具体实例。,14,万物皆对象,世界是由什么组成的?,15,身边的对象,布兰尼,朱丽叶,顾客姓名:朱丽叶年龄:28体重:52千克操作:购买商品,姓名:布兰尼职衔:收银员年龄:35体重:60千克操作:收款打印账单,16,对象的特征属性,属性对

5、象具有的各种特征每个对象的每个属性都拥有特定值例如:布兰尼和朱丽叶的体重不一样,60kg,布兰尼,属性,35岁,17,对象的特征方法,方法对象执行的操作,打单,收银,方法,刷卡,18,对象的属性和方法,列出尼古拉斯凯奇驾驶的这辆法拉利F360 Spider的属性和方法列出小狗对象的属性和方法,属性:品牌:法拉利 型号:F360 Spider 颜色:黄色 价格:380万元方法:发动 停止 加速,属性:颜色:白色方法:叫 跑 吃,19,小结1,说一说教室里的对象描述他们的属性和方法,颜色:黑色品牌:BENQ投影,姓名:张三年龄:20学习,类型:白炽灯开关变亮变暗,材制:木质支撑物品,20,封装,对

6、象同时具有属性和方法两项特性对象的属性和方法通常被封装在一起,共同体现事物的特性,二者相辅相承,不能分割,谁看见过只有“完好的零件和颜色”而不能开动的汽车?,21,从对象抽象出“类”,抽取出下列对象的属性和方法的共同特征,轿车,顾客,22,类,顾客类轿车类,类是模子,确定对象将会拥有的特征(属性)和行为(方法),类是对象的类型不同于int类型:具有方法,各种口味的球状冰淇淋,球状冰淇淋模子,23,小结2,类和对象有什么区别呢?类是抽象的概念,仅仅是模板,比如说:“人”对象是一个你能够看得到、摸得着的具体实体,比如:“小布什”,小布什,普京,克林顿,24,Java 是面向对象的语言,所有Java

7、程序都以类class为组织单元关键字class定义自定义的数据类型,public class HelloAccp public static void main(String args)(使用Java语言理解程序逻辑);,25,Java类模板,类将现实世界中的概念模拟到计算机程序中,public class 类名/定义属性部分 属性1的类型 属性1;属性2的类型 属性2;属性n的类型 属性n;/定义方法部分 方法1;方法2;方法m;,26,定义类,定义一个类的步骤1、定义类名2、编写类的属性3、编写类的方法,27,类示例2-1,在不同北大青鸟培训中心(北京中心,杭州中心等),你会感受到相同的环

8、境和教学氛围,用类的思想输出Accp中心信息,28,类示例2-2,public class AccpSchool/定义北大青鸟中心的属性 String schoolName;/中心的全称 int classNum;/教室的数目 int labNum;/机房的数目/定义北大青鸟中心的方法 public String toString()return schoolName+培训ACCP学员+n+配备:+classNum+教+labNum+机;,定义类的toString()方法,用于输出类相关的信息,public String toString()return 字符串;/方法体,成员变量,29,常见

9、错误,public class.Book String bookName;String authorName;int pageNum;boolean isAvailable;,类命名规则:1、不能使用Java关键字2、首字母可以为字母,也可以是“_”或“$”(建议不要这样)3、不能包含空格或“.”号,代码错误,30,如何定义类的方法,类的方法定义类的某种行为(或功能),方法的名称,方法的主体,方法返回的数据类型,定义类的方法,public 返回值类型 方法名()/这里编写方法的主体,步骤一:定义方法名以及返回值,步骤二:编写方法体,31,方法的命名,如何给方法起名字?必须以字母、_或开头可以包

10、括数字,但不能以它开头遵循的命名规范通常方法名是一个动词,如果有两个以上单词组成,第一个单词的首字母小写,其后单词首字母大写,32,方法的返回值,两种情况如果方法具有返回值,方法中必须使用关键字return返回该值,返回类型为该返回值的类型如果方法没有返回值,返回类型为void,public class Student String name=张三;public void getName()return name;,返回类型要匹配,return 表达式;,编译错误,33,常见错误2-1,public class AccpSchool public static void main(String

11、 args)return ACCP北京中心!;,返回类型是void方法中不能有返回值,34,常见错误2-2,public class Student public double getInfo()double weight=95.5;double height=1.69;return weight,height;,方法至多可以返回一个值,不能返回多个值,35,方法调用,方法是个“黑匣子”,完成某个特定的应用程序功能,并返回结果方法调用:执行方法中包含的语句,对象名.方法名();,小明过生日,爸爸送他一个电动狮子玩具,编程测试这个狮子能否正常工作,演示示例1:演示运行效果,36,方法调用,pub

12、lic class AutoLion String color=黄色;public void run()/方法1:跑(正在以0.1米/秒的速度向前奔跑。);public String bark()/方法2:叫 String sound=吼;return sound;public String getColor()/方法3:获得颜色属性 return color;public String showLion()/方法4:描述狮子特性 return 这是一个+getColor()+的玩具狮子!;,public class TestLion public static void main(Strin

13、g args)AutoLion lion=new AutoLion();System.out.println(lion.showLion();lion.run();System.out.println(lion.bark();,在类的方法中调用该类另一个方法,在main()方法中调用类的方法,演示示例2:设置断点演示方法调用执行过程,37,方法调用小结,方法之间允许相互调用,不需要知道方法的具体实现,提高了效率,38,变量作用域3-1,public class AutoLion String color=黄色;public void run()/方法1:跑(正在以0.1米/秒的速度向前奔跑。)

14、;public String bark()/方法2:叫 String sound=吼;return sound;public String getColor()/方法3:获得颜色属性 return color;public String showLion()/方法4:输出类的描述信息 return 这是一个+getColor()+的玩具狮子!叫声是+sound;,可以调用吗?,演示示例3:变量作用域,39,变量作用域3-2,变量声明的位置决定变量作用域变量作用域确定可在程序中按变量名访问该变量的区域,for(int i=0,a=0;i 4;i+)a+;System.out.println(a)

15、;,a的作用域仅在for循环中,代码错误,40,变量作用域3-3,变量1类型 变量1;变量2类型 变量2;变量3类型 变量3;,public 返回类型 方法1()变量4类型 变量4;public 返回类型 方法2()变量5类型 变量5;,public class AutoLion,AutoLion类的方法别的类的方法,谁能使用这些变量?,方法1,方法2,成员变量,局部变量,局部变量,41,方法调用案例,编写成绩计算类(ScoreCalc)编写测试类,成绩计算类,测试类,演示示例4:方法调用,42,小结1,编写手机类(Phone):它可以下载音乐,可以播放这些音乐,可以进行充电编写电池类(Cel

16、l):自动续电编写测试类(Test),手机类,电池类,测试类,演示示例5:演示效果,43,如何创建和使用对象,使用对象的步骤:使用new创建类的一个对象使用对象:使用“.”进行以下操作给类的属性赋值:对象名.属性调用类的方法:对象名.方法名(),AccpSchool center=new AccpSchool();,center.schoolName=北京中心;/给属性赋值center.toString();/调用类的方法,该方法中的操作将被执行,44,public class InitialAccpSchool public static void main(String args)Accp

17、School center=new AccpSchool();System.out.println(center);center.schoolName=北京中心;center.classNum=10;center.labNum=10;System.out.println(center);,创建和使用对象示例,创建“北京中心”对象,演示示例2:创建和使用对象,说一说看到什么效果?,调用类的toString()方法是特例:这里使用center.toString()和center作用相同更简便,45,综合案例,编写学生类,输出学生相关信息编写教员类,输出教员相关信息,46,面向对象(OO)的优点,便

18、于程序模拟现实世界中的实体用“类”表示实体的特征和行为隐藏细节对象的行为和属性被封装在类中,外界通过调用类的方法来获得,不需关注内部细节如何实现可重用可以通过类的模板,创建多个类的对象,47,数据类型总结,intdoublechar,String使用class定义的类型StudentTeacherAccpSchool,基本数据类型,引用数据类型,48,数据类型使用区别,49,统一建模语言UML,UML简介UML(Unified Modeling Language)即统一建模语言,是OMG(Object Management Group)发表的图标式软件设计语言。UML的功能:可视化、说明、建造

19、、建文档UML包括:用例图(Use case diagrams)类图(Class diagrams)序列图(Sequence diagrams)合作图(Collaboration diagrams)状态图(Statechart diagrams),50,统一建模语言UML,活动图(Activity diagrams)构件图(Component diagrams)部署图(Deployment diagrams)类图是最常用的UML图,显示出类、接口以及它们之间的静态结构和关系;它用于描述系统的结构化设计。类图最基本的元素是类或者接口。,51,什么是类?什么是对象?类和对象的区别是什么?如何定义一个类、类的属性和方法?如何创建类的对象?toString()方法的优点是什么?数据类型有哪两种?区别是什么?,总结,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号