03第三章(上)面向对象基础.ppt
《03第三章(上)面向对象基础.ppt》由会员分享,可在线阅读,更多相关《03第三章(上)面向对象基础.ppt(52页珍藏版)》请在三一办公上搜索。
1、类与对象,第 4章,本章目标,了解什么是面向对象面向对象的基本概念类对象封装继承多态如何定义类,如何创建对象类成员访问控制权限构造方法包,什么是面向对象?,Object Oriendted Programming,对象,以为导向的,程序设计,面向对象就是使用对象进行程序设计,简写成OOP。,面向对象的编程语言,如今,面向对象的编程思想已经成为主流;面向对象的编程语言正大行其道,最具代表性的有:C+JavaC#连数据库也开始面向对象了,如Oracle。,面向对象的编程思想,OOP,旨在计算机程序中模拟现实世界中的概念,在计算机程序中用相似的实体模拟现实世界中的实体,在OOP中,现实世界的所有事物
2、全都被视为对象,设计和实现软件系统的方法,抽象,把相同的或相似的对象归为一类的这个过程就是抽象,所以,抽象就是分析问题的方法;抽象的基本原则:只关心主要问题,而不关心次要问题;只关心主要矛盾,而不关心次要矛盾;只关心相同的东西,而不关心不同的东西;只关心问题是什么,能够完成什么,而不关心怎样去完成。抽象的过程其实就是面向对象编程的核心思想。,对象,对象是面向对象编程的核心部分,是实际存在的具体实体,具有明确定义的状态和行为;对象其实就是“数据”和“函数”的封装体,其中:数据表示自身的状态,也称作“属性”或“成员数据”;函数表示自身的功能,也称作“方法”或“成员函数”。,状态,行为,类,人们为了
3、更好地认识世界,将现实生活中的事物(对象)划分成类;同一类中的事物总是具有一些共性;类以共同的特性和行为定义实体;类是具有相同属性和和行为的一组对象的集合。,属性,事物的特性在类中用变量表示;每个对象的每个属性都拥有其特定的值;属性名称由类的所有对象共享;对象或实体拥有的特征在类中表示时称为属性。,方法,事物的行为和动作在类中用函数表示;每个对象都有相同的动作和行为;对象执行的操作在类中表示为方法。,类和对象的区别,类是用来描述实体的“模板”或“原型”;对象是实际的实体,每一个对象都是类的一个具体实例;类用来定义对象所有的属性和方法,同一类的所有对象都拥有相同的特征和操作;可以将类理解成生产产
4、品的模具,而对象则是根据此模具生产的一个个产品。,类与结构,最简单的理解方式:,区别在于:结构体一般只有数据(属性)而没有函数(方法)。,面向对象的三大原则,封 装,继 承,多 态,封装(capsule),将某些东西包装在一起,然后以新的完整形式呈现出来;隐藏属性、方法或实现细节的处理方式称为封装;封装其实就是有选择性地公开或隐藏某些信息,它解决了数据的安全性问题。,可以公开,无所谓,不可以公开,继承,继承就是重用现有的类来生成新类的一种特征;通俗地讲就是从现有的类(即父类或基类)创建新类(子类或派生类)的过程;现实生活中,继承可以达到财产重用的目的,而在Java中,继承可以使代码重用。,多态
5、,多态是指同一函数在不同的类中有不同的实现;多态的好处就是使类更灵活,更便于扩充。,在Java中定义类,/*定义学生类*/public class Vehicle double speed;/变量声明部分,刻画速度 int power;/变量声明部分,刻画功率 void speedUp(int s)/方法定义,刻画加速功能 speed=speed+s;void speedDown(int d)/方法定义,刻画减速功能 speed=speed-d;void setPower(int p)power=p;,int getPower()return power;double getSpeed()re
6、turn speed;,定义类的语法,习惯上,类名的首字母大写,如:Vehicle,class 通常,Java中把成员变量放在方法前面定义。,定义类的语法,成员变量 在类体中并且在方法之外定义的变量称为成员变量。修饰符 变量类型 变量名;例如:double speed;int power=2;,定义类的语法,1访问控制权限 public、private及protecte、默认的(friendly)2静态变量修饰符 又被称为类变量,静态变量用关键字static表示。3常量修饰符 指在程序中不能被改变的变量,常量用关键字final表示。,定义类的语法,成员方法 1方法定义 方法也由两部分组成,即方
7、法头和方法体。(),定义类的语法,(1)方法修饰符 方法修饰符控制方法在什么条件下使用以及如何使用,包括public(公有的)、private(私有的)及protected(保护的)。(2)返回值类型 返回值类型可以是基本数据类型、应用类型(引用类型)以及void(空类型)。,定义类的语法,(3)方法名(4)形参列表 形参列表是以“,”分开的、参数的数据类型和变量名的列表。(,),定义类的语法,2方法体 方法的功能实现部分,主要由局部变量和语句构成。方法体也可以是空的,即没有任何变量和语句。例如:void setName(String name),定义类的语法,在Java中创建对象,/*Tes
8、t类,用来容纳main方法*/public class Test/*main方法,程序入口*/public static void main(String args)Vehicle v;/声明Vehicle类型的引用 v=new Vehicle();/创建Vehicle类型的对象 v.speed=100.0;/为速度赋值 v.power=2;/为马力赋值 v.speedUp(10);/调用成员方法 System.out.println(v.speed);v.speedDown(20);System.out.println(v.speed);,创建对象的语法,和数组相似,对象也是引用数据类型,只
9、能使用new运算符从堆中分配内存;创建对象的一般语法:1、类名 引用名;引用名=new 类名();或 2、类名 引用名=new 类名();使用已经定义好的类,创建该类对象的过程称为“实例化”。,注意:这里要有括号,1声明对象 类名 引用名;例如:Vehicle v;,v,创建对象的语法,2建立对象并初始化 实际上就是将一个类实例化,这是通过new关键字来完成的。例如:v=new Vehicle();,创建对象的语法,0、0,0,0 x032,v,0 x1032,实例,对象引用,对象引用被赋值后,将指向一个真正的对象,即对象引用的内存空间中存储这个新建立对象的内存空间的首地址,那么通过对象引用,
10、利用成员运算符(.)就可以访问这个对象的所有可以访问的成员了。,对象引用,成员运算符.,使用成员运算符(.)来访问成员属性或成员方法;一般语法是:对象名.成员名如:v.power=2;v.speed=100.0;/为成员属性赋值 v.speedUp(10);/调用成员方法,对象内存空间图,110、0,2,0 x1032,v,0 x1032,实例,对象引用,对象初始化,在上例中,对象创建时,成员变量没有初始化,其值都是默认值。创建完成后逐个地为数据成员赋值,如果想在对象实例化的同时就初始化成员属性,就使用到了构造方法;构造方法是特殊的成员方法,它与类同名,在对象实例化时由虚拟机自动调用;请注意:
11、构造方法没有返回值类型,也不能有返回值。,构造方法示例,/*定义ConstructorDemo类,对构造方法进行测试*/class ConstructorDemo/*构造方法,方法名与类名完全一致 无需指定返回值类型,也不能有返回值*/public ConstructorDemo()System.out.println(这是构造方法);/*Test类,用来容纳main方法一般将包含有main方法的类声明为public*/public class Test/*main方法,程序入口*/public static void main(String args)/*实例化ConstructorDemo
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 03 第三 面向 对象 基础

链接地址:https://www.31ppt.com/p-6111261.html