第面向对象编程基础.pptx
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《第面向对象编程基础.pptx》由会员分享,可在线阅读,更多相关《第面向对象编程基础.pptx(63页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、世界是由什么组成的?名胜名胜人人物品物品 动物动物 ,植物,植物 面向对象编程基础面向对象编程基础第1页/共63页对象的特征属性属性对象具有的各种特征 每个对象的每个属性都拥有特定值例如:王小红和朱小雨的体重不一样60kg王小红王小红属性属性35岁岁收银员小王收银员小王 第2页/共63页对象的特征方法方法对象执行的操作打单打单收银收银方法方法刷卡刷卡收银员王小红收银员王小红第3页/共63页封装对象同时具有属性和方法两项特性对象的属性和方法通常被封装在一起,共同体现事物的特性,二者相辅相承,不能分割谁看见过只有谁看见过只有“完好完好的零件和颜色的零件和颜色”而不而不能开动的汽车?能开动的汽车?第
2、4页/共63页类:从对象抽取出类顾客类轿车类 类是模子,确定对象将会拥有的类是模子,确定对象将会拥有的特征(属性)和行为(方法)特征(属性)和行为(方法)类是对象的类型类是对象的类型不同于不同于int类型:具有方法类型:具有方法各种口味的球状冰淇淋各种口味的球状冰淇淋球状冰淇淋模子球状冰淇淋模子第5页/共63页类和对象有什么区别呢?类是抽象的概念,仅仅是模板,比如说:“人”对象是一个你能够看得到、摸得着的具体实体,比如:“小布什”小布什小布什普京普京克林顿克林顿“人人”类类特征(属性)特征(属性)年龄年龄体重体重行为(方法)行为(方法)衣衣食食住住行行第6页/共63页Java 是面向对象的语言
3、 所有所有Java程序都以类程序都以类class为组织单元为组织单元关键字关键字class定义自定义的数据类型定义自定义的数据类型publicclassHelloWorldpublicstaticvoidmain(Stringargs)使用使用Java语言理解程序逻辑语言理解程序逻辑);第7页/共63页Java类模板类将现实世界中的概念模拟到计算机程序中publicclass类名类名/定义属性部分定义属性部分属性属性1的类型的类型属性属性1;属性属性2的类型的类型属性属性2;属性属性n的类型的类型属性属性n;/定义方法部分定义方法部分方法方法1;方法方法2;方法方法m;第8页/共63页定义类定
4、义一个类的步骤1、定义类名2、编写类的属性3、编写类的方法第9页/共63页常见错误publicclass.BookStringbookName;StringauthorName;intpageNum;booleanisAvailable;类命名规则:类命名规则:1、不能使用、不能使用Java关键字关键字2、首字母可以为字母,也可以是、首字母可以为字母,也可以是“_”或或“$”(建议不要这建议不要这样样)3、不能包含空格或、不能包含空格或“.”号号代码错误代码错误第10页/共63页如何创建和使用对象使用对象的步骤:使用new创建类的一个对象使用对象:使用“.”进行以下操作给类的属性赋值:对象名.
5、属性调用类的方法:对象名.方法名()Schoolcenter=newSchool();center.schoolName=“北京大学北京大学;/给属性赋值给属性赋值center.toString();/调用类的方法,该方法中的操作将被执行调用类的方法,该方法中的操作将被执行第11页/共63页面向对象(OO)的优点便于程序模拟现实世界中的实体用“类”表示实体的特征和行为隐藏细节对象的行为和属性被封装在类中,外界通过调用类的方法来获得,不需关注内部细节如何实现可重用可以通过类的模板,创建多个类的对象第12页/共63页数据类型总结intdoublechar String使用使用class定义的类型定
6、义的类型StudentTeacherSchool基本数据类型基本数据类型引用数据类型引用数据类型第13页/共63页数据类型使用区别数据类型数据类型特征特征声明声明使用使用基本数据类型基本数据类型没有方法没有方法inti=8;i+;引用数据类型引用数据类型具有方法具有方法Studentstu=newStudent();stu.age+;第14页/共63页类的方法写出狮子对象的“跑”方法写出狮子对象的“叫”方法电动玩具狮子电动玩具狮子属性:属性:颜色:黄色颜色:黄色行为:行为:跑跑叫叫按此按钮,按此按钮,狮子开始跑狮子开始跑第15页/共63页如何定义类的方法类的方法定义类的某种行为(或功能)方法的
7、定义方法的定义方法的名称方法的名称方法的主体方法的主体方法返回的数据类型方法返回的数据类型定义类的方法定义类的方法public返回值类型返回值类型方法名方法名()/这里编写方法的主体这里编写方法的主体第16页/共63页方法的命名如何给方法起名字?必须以字母、_或开头可以包括数字,但不能以它开头遵循的命名规范通常方法名是一个动词,如果有两个以上单词组成,第一个单词的首字母小写,其后单词首字母大写第17页/共63页方法的返回值两种情况如果方法具有返回值,方法中必须使用关键字return返回该值,返回类型为该返回值的类型如果方法没有返回值,返回类型为voidpublicclassStudentStr
8、ingname=张三张三;publicvoidgetName()returnname;return表达式;表达式;编译错误编译错误第18页/共63页常见错误public class School public static void main(String args)return“北京大学!;第19页/共63页常见错误public class Student public double getInfo()double weight=95.5;double height=1.69;return weight,height;方法至多可以返回一个值,方法至多可以返回一个值,不能返回多个值不能返回多个
9、值第20页/共63页方法调用方法是个“黑匣子”,完成某个特定的应用程序功能,并返回结果方法调用:执行方法中包含的语句 对象名对象名.方法名()方法名();第21页/共63页方法调用小结方法之间允许相互调用,不需要知道方法的具体实现,提高了效率 情况情况举例举例1、类、类Student的方法的方法a()调用调用Student类类的方法的方法b(),直接调用,直接调用publicvoida()b();/调用调用b()2、类、类Student的方法的方法a()调用类调用类Teacher的方法的方法b(),先创建类对象,然后使用,先创建类对象,然后使用“.”调用调用publicvoida()Teach
10、ert=newTeacher();t.b();/调用调用Teacher类的类的b()第22页/共63页变量作用域变量声明的位置决定变量作用域变量作用域确定可在程序中按变量名访问该变量的区域for(inti=0,a=0;i4;i+)a+;a的作用域仅在的作用域仅在for循环中循环中第23页/共63页变量作用域变量变量1类型类型变量变量1;变量变量2类型类型变量变量2;变量变量3类型类型变量变量3;publicclassAutoLionAutoLion类的方法类的方法别的类的方法别的类的方法谁能使用这些变量?谁能使用这些变量?方法方法1方法方法2成员变量成员变量局部变量局部变量局部变量局部变量第2
11、4页/共63页面向对象的编程思维ScoreCalc类 和 Test类publicstaticvoidmain(Stringargs)Scannerinput=newScanner(System.in);请输入请输入Java成绩:成绩:);intjava=input.nextInt();/*计算并显示输出计算并显示输出*/inttotal=java+c+db;doubleavg=total/3;总成绩:总成绩:+total);平均分平均分:+avg);calcDiffTimecalcTotalScore()ScoreCalcshowTotalScore()calcAvg()showAvg()ma
12、in()/程序入口程序入口/计算并输出总成绩计算并输出总成绩/计算并输出平均分计算并输出平均分Test调用调用调用调用类的方法实现某个特定的功能,类的方法实现某个特定的功能,别的类不需要知道它如何实现!别的类不需要知道它如何实现!知道了实现此功能的类和它的方法名,知道了实现此功能的类和它的方法名,就可以直接调用了,不用重复写代码!就可以直接调用了,不用重复写代码!第25页/共63页什么是封装publicclassTeacher2privateStringname;/教员姓名教员姓名/返回教员姓名返回教员姓名publicStringgetName()returnname;/设定教员姓名设定教员姓
13、名publicvoidsetName(Stringname)this.name=name;封装,就是隐藏实现细节将属性私有化,提供公有方法访问私有属性通过这些公有方法访问私有属性 Teacher2teacher=newTeacher2();teacher.setName(李芳李芳);StringtName=teacher.getName();通过通过setter、getter方法方法访问访问name属性属性this代表当前类的实例代表当前类的实例第26页/共63页27如何实现封装封装的实现:1、修改属性的可见性来限制对属性的访问2、为每个属性创建一对赋值(setter)方法和取值(getter
14、)方法,用于对这些属性的访问3、在setter和getter方法中,加入对属性的存取限制publicclassTeacher3privateStringname;/教员姓名教员姓名privateintage;/年龄年龄publicintgetAge()returnage;publicvoidsetAge(intage)if(age22)错误!最小年龄应为错误!最小年龄应为22岁!岁!);this.age=22;/如果不符合年龄要求,则赋予默认值如果不符合年龄要求,则赋予默认值elsethis.age=age;/此处省略对此处省略对name属性的属性的setter、getter方法方法123第2
15、7页/共63页28如何实现封装publicclassTeacher3Testpublicstaticvoidmain(Stringargs)AccpTeacher3teacher=newAccpTeacher3();teacher.setName(李芳李芳);teacher.setAge(10);使用封装,增加了数据访问限制,增强了程序的可维护性使用封装,增加了数据访问限制,增强了程序的可维护性错误!最小年龄应为错误!最小年龄应为22岁!岁!大家好!我是李芳,我今年大家好!我是李芳,我今年22岁岁测试类通过调用测试类通过调用setter方法,为对象的各个属性赋值方法,为对象的各个属性赋值第28
16、页/共63页29什么是构造方法构造方法负责对象成员的初始化工作,为实例变量赋予合适的初始值构造方法必须满足以下语法规则:1、方法名与类名相同2、没有返回类型publicclassTeacher5privateStringname;/教员姓名教员姓名/构造方法构造方法publicTeacher5()name=无名氏无名氏;PublicTeacher5Testpublicstaticvoidmain(Stringargs)Teacher5teacher=newTeacher5();使用使用new关键字调用构造方法关键字调用构造方法第29页/共63页30带参数的构造方法通过带参数的构造方法,显式地为
17、实例变量赋予初始值 publicclassTeacher6privateStringname;/教员姓名教员姓名privateintage;/年龄年龄privateStringeducation;/学历学历privateStringposition;/职位职位/带参数的构造方法带参数的构造方法PublicTeacher6(StringpName,intpAge,StringpEducation,StringpPosition)name=pName;age=pAge;/可以增加对可以增加对age等属性的存取限制条件等属性的存取限制条件education=pEducation;position=p
18、Position;publicStringintroduction()return大家好!我是大家好!我是+name+,我今年,我今年+age+岁,学历岁,学历+education+,目前职位是目前职位是+position;第30页/共63页31带参数的构造方法通过调用带参数的构造方法,简化对象初始化的代码publicclassTeacher6Testpublicstaticvoidmain(Stringargs)Teacher6teacher=newTeacher6(李芳李芳,23,本科本科,咨询师咨询师);大家好!我是李芳大家好!我是李芳,我今年我今年23岁,学历本科,目前职位是咨询师岁,
19、学历本科,目前职位是咨询师第31页/共63页32生活中的方法重载类类方法方法方法参数方法参数方法实现方法实现司机司机轿车轿车巴士巴士火车火车驾驶驾驶启动、行驶、启动、行驶、等待乘客上车、启动、等待乘客上车、启动、行驶、到站停车、行驶、到站停车、正点发车、行驶、正点发车、行驶、到站停车、到站停车、如果用代码实现,我们需要三个方法,这些方法的方法名称如果用代码实现,我们需要三个方法,这些方法的方法名称相同,参数类型不同相同,参数类型不同第32页/共63页33方法重载必须满足的条件重载方法必须满足以下条件:方法名相同。方法的参数类型、个数、顺序至少有一项不相同。方法的返回类型可以不相同。方法的修饰符
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向 对象 编程 基础
![提示](https://www.deliwenku.com/images/bang_tan.gif)
限制150内