第04章 面向对象编程.ppt
《第04章 面向对象编程.ppt》由会员分享,可在线阅读,更多相关《第04章 面向对象编程.ppt(32页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第四章第四章 面向对象编程面向对象编程 类与构造函数类与构造函数 继承继承的实现的实现 thisthis与与supersuper 方法的覆盖方法的覆盖 方法的重载方法的重载本本 章章 要要 点点2023/1/142面向对象编程与面向过程编程的区别面向对象编程与面向过程编程的区别l过程化程序设计先确定算法,再确定数据过程化程序设计先确定算法,再确定数据结构;面向对象编程先确定数据结构,再结构;面向对象编程先确定数据结构,再确定运算。确定运算。l面向过程编程的程序员,习惯于建立数据面向过程编程的程序员,习惯于建立数据结构存放数据并定义方法(函数)来操作结构存放数据并定义方法(函数)来操作数据;面向
2、对象编程的程序员则构造一个数据;面向对象编程的程序员则构造一个对象模型,将数据与方法组织在一起。对象模型,将数据与方法组织在一起。2023/1/143知识回顾知识回顾l我们可以把现实世界的事物抽象成对象。我们可以把现实世界的事物抽象成对象。l对象一般都有两个特征:状态(对象一般都有两个特征:状态(state)和)和行为(行为(behavior)。)。l软件的对象概念是由现实世界对象抽象而软件的对象概念是由现实世界对象抽象而来来。把现实世界对象的状态保存在软件对。把现实世界对象的状态保存在软件对象的变量中;现实世界对象的行为通过软象的变量中;现实世界对象的行为通过软件对象的方法(函数)来实现。件
3、对象的方法(函数)来实现。2023/1/144知识回顾知识回顾l把相似的对象划归成一个类。把相似的对象划归成一个类。l在软件中,类,就是一个模板,它定义了在软件中,类,就是一个模板,它定义了通用于一个特定种类的所有对象的状态通用于一个特定种类的所有对象的状态(变量)和行为(方法)。(变量)和行为(方法)。l类是创建对象的模板,对象是类的实例。类是创建对象的模板,对象是类的实例。2023/1/145知识回顾知识回顾l从程序设计的角度看,类是面向对象程序从程序设计的角度看,类是面向对象程序中最基本的程序单元。类实质上定义的是中最基本的程序单元。类实质上定义的是一种数据类型,这种数据类型就是对象类一
4、种数据类型,这种数据类型就是对象类型。所以我们可以使用类名称来声明对象型。所以我们可以使用类名称来声明对象变量。变量。l声明对象变量之后,还不能使用对象。必声明对象变量之后,还不能使用对象。必须用运算符须用运算符new创建对象实体之后,才能创建对象实体之后,才能使用对象。使用对象。2023/1/146面向对象编程的难点面向对象编程的难点l掌握面向对象的困难之处在于思路的转换。掌握面向对象的困难之处在于思路的转换。l l我们通常习惯于考虑解决问题的方法,而我们通常习惯于考虑解决问题的方法,而不是考虑将问题抽象成对象再去解决它。不是考虑将问题抽象成对象再去解决它。2023/1/147一个简单的例子
5、一个简单的例子l编写一个驾驶汽车的方法编写一个驾驶汽车的方法l面向过程的程序设计:面向过程的程序设计:编写一个方法,编写一个方法,void drivecar();l面向对象的程序设计:面向对象的程序设计:将一辆汽车看成一个对象,将所有汽车对象将一辆汽车看成一个对象,将所有汽车对象的共性抽取出来,设计一个类的共性抽取出来,设计一个类Car,类中有一,类中有一个方法个方法void drive(),用,用Car这个类实例化一个这个类实例化一个具体的对象具体的对象car,调用:,调用:car.drive()。2023/1/148JavaJava的常用包的常用包ljava.applet:包含一些用于创建
6、:包含一些用于创建Java小应用程小应用程序的类。序的类。ljava.awt:包含一些用于编写与平台无关的图形:包含一些用于编写与平台无关的图形界面界面(GUI)应用程序的类。应用程序的类。ljava.io:包含一些用作输入输出:包含一些用作输入输出(I/O)处理的类。处理的类。ljava.lang:包含一些:包含一些Java语言的基本类与核心语言的基本类与核心类,如类,如String、Math、Integer、System和和Runtime,提供常用的功能,这个包中的所有类,提供常用的功能,这个包中的所有类是被隐式导入的。是被隐式导入的。:包含用于建立网络连接的类,与:包含用于建立网络连接的
7、类,与java.io同时使用完成与网络有关的读写。同时使用完成与网络有关的读写。ljava.util:包含一些实用工具类和数据结构类。:包含一些实用工具类和数据结构类。2023/1/14101 1、类的定义、类的定义l修饰符修饰符 class 类名类名extends 父类名父类名 implements 接口名接口名ll 类型类型 成员变量成员变量;l l 修饰符修饰符 类型类型 成员方法(参数列表)成员方法(参数列表)l l 类型类型 局部变量局部变量;l 方法体方法体;l l l2023/1/14112 2、构造函数、构造函数l构造函数是类的一种特殊方法:构造函数是类的一种特殊方法:构造函数
8、的方法名与类名相同;构造函数的方法名与类名相同;构造函数没有返回值;构造函数没有返回值;构造函数的主要作用是完成类对象的初始化工作;构造函数的主要作用是完成类对象的初始化工作;构造函数一般不能由编程人员显式地直接调用,必构造函数一般不能由编程人员显式地直接调用,必须通过须通过new关键字来自动调用,从而创建类的实例关键字来自动调用,从而创建类的实例lJava的类都要求有构造函数,如果没有定义构的类都要求有构造函数,如果没有定义构造函数,造函数,Java编译器会为我们提供一个缺省的编译器会为我们提供一个缺省的构造函数,也就是不带参数的构造函数。构造函数,也就是不带参数的构造函数。l一个命令:一个
9、命令:Javap Point2023/1/14122 2、构造函数、构造函数-例题例题lUsePhoneCard.javalTestPerson.java2023/1/14133 3、newnew关键字的作用关键字的作用l为对象分配内存空间。为对象分配内存空间。l引起对象构造方法的调用。引起对象构造方法的调用。l为对象返回一个引用。为对象返回一个引用。2023/1/14144 4、缺省构造函数、缺省构造函数成员变量类型成员变量类型 取值取值 byte0 short0 int 0 long0L charu00000 float0.0F double0.0D booleanfalse 所有引用类型
10、所有引用类型null 当我们用当我们用缺省的构缺省的构造函数初造函数初始化对象始化对象时,系统时,系统用默认值用默认值初始化对初始化对象的成员象的成员变量。变量。2023/1/14151 1、方法的重载(、方法的重载(overloadoverload)l特点:特点:同一名字同一名字不同数目的参数不同数目的参数不同类型的参数不同类型的参数lJava中使用了大量的方法重载。重载是一中使用了大量的方法重载。重载是一个非常重要的部分,它是面向对象理论的个非常重要的部分,它是面向对象理论的重要基础之一重要基础之一2023/1/14171 1、方法的重载(、方法的重载(overloadoverload)l
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第04章 面向对象编程 04 面向 对象 编程
限制150内