




已阅读5页,还剩48页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
面向对象编程初步 对象和类,主要内容,什么是对象 什么是类 类的组成 Java中类和对象的使用 类的方法定义和调用 包,万物皆对象,世界是由什么组成的?,对象是什么,姓名:欧忠良 职务:卓跃常规校区校长 特点:成熟稳重 操作: 管理学校事务,姓名:郭源 职务:安卓学术主管 特点:幽默风趣 操作: 课程体系设计 上课,姓名:赵若榕 职务:安卓学术老师 特点: 操作: 上课,对象(Object)是客观事物或概念的抽象表述,即对客观存在的事物的描述统称为对象,对象可以是事、物、或抽象概念 ,是将一组数据和使用该数据的一组基本操作或过程封装在一起的实体。,美丽与智慧并存,对象的特征属性,属性对象具有的各种特征 每个对象的每个属性都拥有特定值 例如:赵老师和郭源老师的名字不一样,学术主管,郭源,属性,幽默风趣,对象的特征方法,方法对象执行的操作,课程设计,方法,教学,封装,对象同时具有属性和方法两项特性 对象的属性和方法通常被封装在一起,共同体现事物的特性, 二者相辅相承,不能分割,教学,幽默风趣,对象的属性和方法,列出尼古拉斯凯奇驾驶的这辆法拉利F360 Spider的属性和方法,属性: 品牌:法拉利 型号:F360 Spider 颜色:黄色 价格:380万元 方法: 发动 停止 加速,属性: 颜色:白色 品种:拉布拉多 方法: 叫 跑 吃 摇尾巴卖萌,列出小狗对象的属性和方法,讨论1,说一说教室里的对象 描述他们的属性和方法,颜色:黑色 品牌:BENQ 投影,姓名:张三 年龄:20 学习,类型:白炽灯 开 关 变亮 变暗,材制: 木质 支撑物品,什么是类,类是描述对象的“基本原型”,它定义一类对象所能拥有的数据和能完成的操作。在面向对象的程序设计中,类是程序的基本单元。 相似的对象可以归并到同一个类中去。 程序中的对象是类的一个实例,是一个软件单元,它由一组结构化的数据和在其上的一组操作构成。,类,鼠类 轿车类 教师类 ,类是模子,确定对象将会拥有的特征(属性)和行为(方法),类是对象的类型 不同于int类型:具有方法,各种口味的球状冰淇淋,球状冰淇淋模子,抽象,猪,牛,羊,提取出公共属性,提取公共行为,根据特征和行为抽象出家畜类,从对象抽象出“类”,抽取出下列对象的属性和方法的共同特征,小结:类和对象,类和对象有什么区别呢? 类是抽象的概念,仅仅是模板,比如说:“学生” 对象是一个你能够看得到、摸得着的具体实体,比如:“小军和小强”,小军,小强,小芳,小明,Java 是面向对象的语言,所有Java程序都以类class为组织单元 关键字class定义自定义的数据类型,public class HelloJava public static void main(String args) System.out.println(“Java是一门完全面向对象的编程语言“); ,Java类模板,类将现实世界中的概念模拟到计算机程序中,public class 类名 /定义属性部分 属性1的类型 属性1; 属性2的类型 属性2; 属性n的类型 属性n; /定义方法部分 方法1; 方法2; 方法m; ,定义类,定义一个类的步骤 1、定义类名 2、编写类的属性 3、编写类的方法,类示例2-1,在一群企鹅里面有很多企鹅(豆豆、毛毛、球球、胖胖等),请用类的思想输出每只企鹅的信息,演示示例1:使用Eclipse创建Penguin类框架,类示例2-2,public class Penguin /定义企鹅的属性 String name; / 名字 String mouth; / 嘴型 int attack; /攻击力 public void eat() System.out.println(“吃鱼“); / 定义企鹅的方法 public String showMe() return name + “n” + “嘴型:”+ mouth + “n攻击力:” + attack ; ,定义类的showMe()方法, 用于输出类相关的信息,eat方法,成员变量,public String 方法名() return 字符串; /方法体 ,常见错误,public class .Book String bookName; String authorName; int pageNum; boolean isAvailable; ,类命名规则: 1、不能使用Java关键字 2、首字母可以为字母,也可以是“_”或“$ ”(建议不要这样) 3、不能包含空格或“.”号,代码错误,如何创建和使用对象,使用对象的步骤: 使用new创建类的一个对象 使用对象:使用“.”进行以下操作 给类的属性赋值:对象名.属性 调用类的方法:对象名.方法名(),Penguin doudou= new Penguin();, = “豆豆“; /给属性赋值 doudou.eat(); /调用类的方法,该方法中的操作将被执行,public class PenguinTest public static void main(String args) Penguin doudou= new Penguin(); doudou.eat(); System.out.println(doudou.showMe(); = “豆豆“; doudou.mouth = “圆嘴”; doudou.attack = 0; System.out.println(doudou.showMe(); ,创建和使用对象示例,创建“企鹅”对象,并输出,演示示例2:创建和使用对象,综合案例,编写学生类,输出学生相关信息 编写教员类,输出教员相关信息,演示示例3:创建和使用类和对象,动手3,编写一个音乐类,并编写测试类显示音乐信息 编写一个手机类,并编写测试类显示手机信息,面向对象(OO)的优点,便于程序模拟现实世界中的实体 用“类”表示实体的特征和行为 隐藏细节 对象的行为和属性被封装在类中,外界通过调用类的方法来获得,不需关注内部细节如何实现 可重用 可以通过类的模板,创建多个类的对象,什么是类? 什么是对象? 类和对象的区别是什么? 如何定义一个类、类的属性和方法? 如何创建类的对象? 数据类型有哪两种?区别是什么?,总结,纠错,类和对象的区别是什么? 数据类型有哪两类?如何使用?,public class ,Student,,stu.sex,stu.age,实现输出学生信息,下面代码有哪些错误?,类的方法,写出企鹅对象的“吃饭”方法 写出企鹅对象的“睡觉”方法,类的方法示例,Penguin类代码实现,public class Penguin String name; int mouth; int attack; public void sleep() System.out.println(name+“正在睡觉,别吵“); public String eat(String food) System.out.println(“吃“+food+“中.“); return food+“真好吃!“; ,方法名称,方法体,返回类型,如何定义类的方法,类的方法定义类的某种行为(或功能),方法的名称,方法的主体,方法返回的数据类型,定义类的方法,public 返回值类型 方法名() /这里编写方法的主体 ,步骤一:定义方法名以及返回值,步骤二:编写方法体,方法的命名,如何给方法起名字? 必须以字母、_或开头 可以包括数字,但不能以它开头 遵循的命名规范 通常方法名是一个动词,如果有两个以上单词组成,第一个单词的首字母小写,其后单词首字母大写,方法的返回值,两种情况 如果方法具有返回值,方法中必须使用关键字return返回该值,返回类型为该返回值的类型 如果方法没有返回值,返回类型为void,public class Student String name = “张三“; public void getName() return name; ,返回类型要匹配,return 表达式;,编译错误,常见错误2-1,public class GreatSchool public static void main(String args) return “卓跃教育IT培训中心! “; ,返回类型是void 方法中不能有返回值,常见错误2-2,public class Student public double getInfo() double weight = 95.5; double height = 1.69; return weight, height; ,方法至多可以返回一个值,不能返回多个值,方法调用,方法是个“黑匣子”,完成某个特定的应用程序功能,并返回结果 方法调用:执行方法中包含的语句,对象名.方法名();,给一只企鹅喂鱼吃,演示示例1:演示运行效果,方法调用小结,方法之间允许相互调用,不需要知道方法的具体实现,提高了效率,public class Penguin String name; int mouth; int attack; public void sleep() System.out.println(name+“正在睡觉,别吵“); public String getName() return name; public String eat(String food) String sound = “吃“+food+“中.“; System.out.println(sound); return food+“真好吃!“; public String getFood() System.out.println(sound+food+“真好吃“); ,变量作用域3-1,可以调用吗?,演示示例3:变量作用域,变量作用域3-2,变量声明的位置决定变量作用域 变量作用域确定可在程序中按变量名访问该变量的区域, for(int i = 0, a = 0; i 4; i+) a+; System.out.println(a); ,a的作用域仅在for循环中,代码错误,变量作用域3-3,变量1类型 变量1; 变量2类型 变量2; 变量3类型 变量3;,public 返回类型 方法1() 变量4类型 变量4; public 返回类型 方法2() 变量5类型 变量5; ,public class Penguin,Penguin类的方法 别的类的方法,谁能使用这些变量?,方法1,方法2,成员变量,局部变量,局部变量,方法调用案例,编写成绩计算类(ScoreCalc) 编写测试类,演示示例4:方法调用,小结1,编写手机类(Phone):它可以下载音乐,可以播放下载的音乐,可以进行充电 编写电池类(Cell):它有电量的属性。可给手机提供电量 在播放音乐和下载音乐时电量会减少,充电电量会增加 编写测试类(Test),演示示例5:演示效果,面向对象的编程思维,ScoreCalc类 和 Test类,public static void main(String args) Scanner input = new Scanner(System.in); System.out.print(“请输入Java成绩:“); int java = input.nextInt(); /*计算并显示输出*/ int total = java + c + db; double avg = total / 3; System.out.print(“总成绩:“ + total); System.out.print(“n平均分: “ + avg); ,一次还可以接受,如果 还要再执行这个功能, 难道还要重复再写?,为什么需要包,生活案例,文档分门别类,易于查找,不同内容的文档可以放在不同的 袋子中,拥有相同的名字,避免冲突,易于管理,为什么需要包,树形文件系统 使用目录解决文件同名冲突问题 如何存放两个同名的类而不冲突?,包,包解决类的同名问题,允许类组成较小的单元(类似 文件夹),易于找到和使用相 应的文件,防止命名冲突,更好的保护类、数 据和方法,如何创建包,package org.zy.nf1110 ; public class WalMartShop public String toString() ,包名,使用package声明包, 以分号结尾,如果有包的声明,一定 作为Java源代码的第一条 语句,包命名规范,包名由小写字母组成,不能以圆点开头或结尾 自己设定的包名之前最好加上唯一的前缀,通常使用组织倒置的网络域名。如:域名 自己设定的包名部分依不同机构各自内部的规范不同而不同,package mypackage;,package net.javagroup.mypackage;,package net.javagroup.research.powerproject;,部门名,项目名,package .mypackage; ,用Eclipse 创建包,使用Eclipse创建包的两种方法: 分别创建包和类: 创建项目创建包创建类 创建类的过程中创建类所在的包 创建项目创建类(在此过程中声明所属包,如无声明,则显示“缺省包”),演示示例6:使用Eclipse创建包和类,包与目录的关系,创建好的包和Java源文件是如何存储的? 创建包org.zy.nf1110 ,即创建了目录结构:s1javasgchap7,demo,org,zy,nf11110,WalMartShop.java,HelloJava.java,演示示例7:在包资源管理器和导航器中观察包中的目录结构,如何导入包,为了使用不在同一包中的类,需要在Java程序中使用import关键字导入这个类,import java.util.*; /导入java.util包中所有类 import java.lang.*; /导入java.lang包中所有类,关键字import并不陌生,import 包名. 类名;,1、系统包(eg:java.lang) 2、自定义包:net.javagroup,*: 指包中的所有类 HelloJava:指包中的HelloJava类,小结2,WalMartSh
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《石榴又红了》课件
- 2025技术研发合作协议合同范本
- 颈椎病的围手术期护理
- 《生死攸关的烛光》课件
- 广东省揭阳市榕城区2024-2025学年高二上学期期末考试生物试卷及答案
- 护理带教老师授课比赛
- 2025房屋租赁信托合同协议书模板
- 2025刨花板模板购销合同
- 音标翻译工作总结
- 2025型钢支撑租赁及安装拆卸合同协议书
- 2025年公安部交管局三力测试题库及答案
- 医院信息科笔试、面试题(附答案)
- 城市轨道交通站台门系统技术规范
- 医疗器械法律法规
- 心力衰竭内科教学
- 房屋翻新改造培训课件
- 禁用物质认证管理办法
- 先天性甲状腺功能减退症诊治指南解读课件
- 电仪安全培训课件
- 经典诵读主题班会课件
- FIDIC合同培训课件
评论
0/150
提交评论