《面向对象编程~》由会员分享,可在线阅读,更多相关《面向对象编程~(31页珍藏版)》请在金锄头文库上搜索。
1、第四章 面向对象编程,本章主要内容,4.1 简介 4.2 面向对象的基本概念 4.3 面向对象的基本语法 4.4 类和包 4.5 对象、封装 4.6 类的方法 4.7 继承和多态 4.8 接口和抽象类 4.9 面向对象开发概念,掌握类和对象的特征理解封装会创建和使用对象,本章目标,4.1 简介,面向对象程序设计语言是主流,Java是其中之一Java是类似于C程序设计语言,语法,表达式,逻辑控制基本上是一样的本章是Java语言学习中较难的部分,4.2 面向对象的基本概念,面向对象=对象+类+继承+消息 对象 对象是基本的运行时的实体,它包括数据属性,也包括作用于数据的操作(行为)所以一个对象把属
2、性和行为密封成一个整体。属性值规定了对象所有可能的状态。对象的操作是指该对象可以展现的外部服务 类 类是某些对象的共同特征(如属性和操作)的表示,即类是对一类事物描述,是抽象的,概念的定义对象是类的实例,4.2 面向对象的基本概念,继承 类之间的继承关系是现实世界中遗传关系的直接模拟 它表示类之间的内在联系以及对属性和操作的共享,即子类可以沿用父类(被继承类)的某些特征 当然,子类也可以具有自己独立的属性和操作消息 消息传递是对象与其外部世界相互关联的唯一途径。 对象可以向其他对象发出消息以请求服务,也可以响应其他对象传来的消息,完成自身固有的某些操作,从而服务于其他对象 因为对象的操作主要用
3、来响应外来消息并为其他对象提供服务,所以它们也被称作“外来服务”,4.2.1 对象 万物皆对象,世界是由什么组成的?,身边的对象,Britney,Juliette,顾客 姓名:朱丽叶 年龄:28 体重:52千克操作: 购买商品,姓名:布兰尼 职衔:收银员 年龄:35 体重:60千克操作: 收款 打印账单,对象的特征属性,属性对象具有的各种特征 每个对象的每个属性都拥有特定值 例如:布兰尼和朱丽叶的体重不一样,60kg,布兰尼,属性,35岁,对象的特征方法,方法对象执行的操作,打单,收银,方法,刷卡,说一说教室里的对象 描述他们的属性和方法,颜色:黑色 品牌:BENQ 投影,姓名:张三 年龄:2
4、0 学习,类型:白炽灯 开 关 变亮 变暗,材制: 木质 支撑物品,4.2.2 封装,对象同时具有属性和方法两项特性 对象的属性和方法通常被封装在一起,共同体现事物的特性, 二者相辅相承,不能分割,谁看见过只有“完好的零件和颜色”而不能开动的汽车?,4.2.3 从对象抽象出“类”,抽取出下列对象的属性和方法的共同特征,轿车,顾客,4.2.3 类,顾客类 轿车类,类是模子,确定对象将会拥有的特征(属性)和行为(方法),类是对象的类型 不同于int类型:具有方法,各种口味的球状冰淇淋,球状冰淇淋模子,类和对象的区别,类是抽象的概念,仅仅是模板,比如说:“人” 对象是一个你能够看得到、摸得着的具体实
5、体,比如:“小布什”,小布什,普京,克林顿,Java 是面向对象的语言,所有Java程序都以类class为组织单元 关键字class定义自定义的数据类型,public class HelloWorld public static void main(String args) System.out.println(“Hello World!“); ,Java类模板,类将现实世界中的概念模拟到计算机程序中,public class 类名 /定义属性部分属性1的类型 属性1;属性2的类型 属性2;属性n的类型 属性n;/定义方法部分方法1;方法2;方法m; ,定义类,定义一个类的步骤 1、定义类名
6、2、编写类的属性 3、编写类的方法,如何创建和使用对象,使用对象的步骤: 使用new创建类的一个对象使用对象:使用“.”进行以下操作 给类的属性赋值:对象名.属性 调用类的方法:对象名.方法名(),HelloWorld hello = new HelloWorld();,hello.userName = “张三“; /给属性赋值 hello.sayHello(); /调用类的方法,该方法中的操作将被执行,public class HelloWorld public static void main(String args)HelloWorld hello = new HelloWorld();
7、System.out.println(hello);hello.userName = “张三“;hello.sayHello();System.out.println(hello); ,创建和使用对象示例,说一说看到什么效果?,调用类的方法,面向对象(OO)的优点,便于程序模拟现实世界中的实体 用“类”表示实体的特征和行为隐藏细节 对象的行为和属性被封装在类中,外界通过调用类的方法来获得,不需关注内部细节如何实现可重用 可以通过类的模板,创建多个类的对象,4.3.1 JAVA文件的组成,JAVA源文件结构,package:目录组织结构Import:引入所需要的类 编译器首先会在classpat
8、h指定的路径下搜索, 默认情况下,系统会自动导入java.lang包下的所有类.*表示引入该包下的所有类,不包括子包.,4.3.2 JAVA类的组成,4.3.2 JAVA类的组成,修饰符: 访问修饰符:public、protected、private和default 非访问修饰符:final(写在类前:不能被继承,没有子类;写在属性前面:该属性值不能再被修改)、abstract,4.3.2 JAVA类的组成,1. 类的访问控制修饰,主要是限制这个类能否被其他的类所看到,并且访问。 Public 公共访问修饰符: public class ClassName 缺省访问控制符: class Cla
9、ssName private 私有访问控制符: private class ClassName2. 对类中的成员的访问控制修饰,由于类可以控制别人的访问,但是类中某些数据有些可以让人访问,有些又不想让别人访问的时候,就要用到类中成员的访问控制修饰符。 public 公共访问控制符 public String name; 缺省访问控制符 int age = 20; private 私有访问控制符 private String gender = “male“; protected 保护访问控制符 protected Date birthday = new Date();,4.3.2 JAVA类的组成,4.3.2 JAVA类的组成,成员变量 定义规则: 例如: 成员方法 定义规则: 例如: 构造函数: 构造函数是创建对象并初始化对象内部的成员变量的 定义规则: 例如:参看课本例4.5,4.3 面向对象的基本语法,常用关键字列表,常用概念列表,什么是类? 什么是对象? 类和对象的区别是什么? 如何定义一个类、类的属性和方法? 如何创建类的对象? Java文件的组成,总结,