收藏 分享(赏)

JAVA编程基础-05面向对象基础.doc

上传人:dreamzhangning 文档编号:2281302 上传时间:2018-09-09 格式:DOC 页数:55 大小:5.56MB
下载 相关 举报
JAVA编程基础-05面向对象基础.doc_第1页
第1页 / 共55页
JAVA编程基础-05面向对象基础.doc_第2页
第2页 / 共55页
JAVA编程基础-05面向对象基础.doc_第3页
第3页 / 共55页
JAVA编程基础-05面向对象基础.doc_第4页
第4页 / 共55页
JAVA编程基础-05面向对象基础.doc_第5页
第5页 / 共55页
点击查看更多>>
资源描述

1、JAVA编程基础 面向对象基础3 Sept. 2008 Neusoft Confidential第五章 面向对象基础目标:介绍面向对象编程的基本思想,通过本课的学习,学员应该掌握如下知识:1)理解什么是类、对象、构造器,2)对象在内存中的表现形式及如何使用对象等。3) this和static关键字教学方法:讲授ppt 上机练习本章要点面向对象的思想类的定义什么是类类的成员方法重载对象的创建和使用创建对象构造器使用对象this关键字static关键字Contents12345面向对象编程思想类的定义对象创建和使用this关键字static关键字面向对象编程思想-1/8面向过程编程 传统的C 语言

2、属于面向过程编程。面向过程解决问题的思路:通常是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,最后一个一个依次调用函数来解决。案例:ATM提款机终端系统(面向过程编程) 步骤1:输入密码,系统判断是否正确,如正确,进入取款界面,如错误,提示重新输入。 步骤2:进入取款界面,输入取款金额,系统判断余额是否足够,如不足,提示;如足够,点钞。 步骤3:吐出钞票,打印票据。面向过程编程考虑的问题是程序运行的流程,主要是程序的算法,而数据只是在必要的时候插入到算法中间。面向对象编程思想-2/8 面向对象编程(OOP:Object-Oriented Programming ) 从现实世界中

3、客观存在的事物出发来构造软件系统,并在系统构造中尽可能运用人类的自然思维方式,强调直接以问题域中的事物为中心来思考问题,认识问题,并根据这些事物的本质特点,把它们抽象地表示为系统中的对象,作为系统的基本构成单位。 面向对象解决问题的思路:通常是把构成问题域的事务分解成各个对象,给对象赋予相应的属性和行为,通过多个对象的相互协调来解决问题。建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为 。 支持面向对象编程是Java 语言的重要特点。面向对象编程思想-3/8案例:ATM提款机终端系统(面向对象编程) 根据要解决的问题,可以抽象出如下对象: 客户 银行卡 现金

4、 票据这些对象没有先后顺序,共同作用才构成了整个系统。我们只要用代码设计出这几个类型的对象,然后让他们互相通信、传递消息就可以完成系统功能。面向对象编程思想实际上就是一种运用对象、类、继承、封装、聚合、关联、消息、多态性等概念来构造系统的软件开发方法。面向对象编程思想-4/8面向过程系统以过程/函数为中心面向对象系统以对象为中心来组织来组织过程间相互发送数据过程的执行动作与数据被明显的分离关注的焦点在于数据结构、算法和执行步骤过程通常难以被复用。vs对象相互间发送消息相关的属性和行为被统一到对象上关注的焦点是对象及对象的职责使得系统构建更容易,易维护,易扩展,易复用解决问题的方式更接近人的思维

5、方式,使人更容易理解从面向过程到面向对象,不仅仅是编程方式的改变,更重要的是思考方式的改变。面向对象编程思想-4/8 面向对象基本概念 抽象(abstract): 从事物中舍弃个别的非本质特征,抽取共同的本质特征 只考虑与问题域相关的信息,而忽略与问题域不相关的部分 对象(object):是实际存在的某类事物的个体,也称为实例(instance). 对象由“属性(attribute)”和 ”方法(method)”构成,属性描述对象包含的数据特征,方法描述对象表现的行为特征。面向对象编程思想-5/8 面向对象基本概念 类(class): 类是一组具有相同属性和行为的对象的抽象,类的作用是用来创建

6、对象,对象是类的一个实例。 类和对象的关系 抽象和具体的关系 类是生成对象的模板 一个类定义了使用哪些数据来描述属性,每一个对象都有相应的属性值数据,一个类通过一系列方法来定义行为,这些方法能在每个对象中被激活面向对象编程思想-6/8 面向对象主要特征 封装(encapsulation): 所谓封装是把对象的属性和行为结合在一个独立的系统单位内部 尽可能隐蔽对象的内部细节,只向外部提供接口 降低对象间的耦合度 封装的重要意义: 使对象能够集中而完整地描述并对应一个具体事物 体现了事物的相对独立性,使对象外部不能随意存取对象的内部数据面向对象编程思想-7/8 面向对象主要特征 继承(inheri

7、tance): 继承是子类自动共享父类属性和方法的机制,在定义和实现一个类的时候,可以在一个已经存在的类的基础之上来进行,把这个已经存在的类所定义的内容作为自己的内容,并加入自己若干新的内容 继承简化了人们对事物的认识和描述,有益于软件复用,是OO技术提高软件开发效率的重要原因之一 是类之间的一种关系,一般类与特殊类之间的关系面向对象编程思想-8/8 面向对象主要特征 多态(polymorphism): 指同一个命名可具有不同的语义 OO方法中,常指在一般类中定义的属性或方法被特殊类继承之后,可以具有不同的数据类型或表现出不同的行为,对于子类,可用不同的方法替代实现父类的服务的方法Conten

8、ts12345面向对象编程思想类的定义对象创建和使用this关键字static关键字什么是类 类的定义在软件设计中,类,就是一个模板,它定义了通用于一个特定种类的所有对象的属性(变量)和行为(方法)。什么是类 类的定义?西游记游戏软件中的游戏人物孙悟空:孙悟空的武器是金箍棒,战斗力五颗星,耐力五颗星唐 僧:唐僧没有武器,战斗力为零,耐力五颗星猪八戒:猪八戒的武器是耙子,战斗力四颗星,耐力两颗星沙 僧:沙僧的武器是月牙铲 ,战斗力三颗星,耐力四颗星类的格式 类的定义类修饰符 class 类名类的成员修饰符一般为public,也可以没有修饰符。注意类名的命名规范。类名一般首字母大写类的成员:成员变

9、量(属性)成员方法(方法)嵌套类通过“.” 调用属性和方法类的格式 类的定义 class Employee 属性String name;int age;double salary;public String showName()System.out.println(name);return name;Employee.java public int showAge()System.out.println(age);return age; 方法public void updateName(String name2)name = name2;public void getSalary()Syste

10、m.out.println(“The salary of this month is 2000“);类成员的定义成员变量: 修饰符 类型 属性名 =默认值; 其中修饰符有:public、private、protected,也可以省略不写。 例如: private int id; private int age=20;方法:修饰符 返回值类型 方法名(形参列表) 语句方法的定义 方法方法是完成某个功能的一组语句,通常将常用的功能写成一个方法示例 Func_sample1.java 方法的格式访问控制符 修饰符 返回值类型 方法名(参数类型 形式参数,参数类型 形式参数,)方法体示例 Func_s

11、ample2.java方法的定义 方法的格式形式参数:在方法被调用时用于接受外部传入的变量参数类型:就是该形式参数的数据类型返回值:方法在执行完毕后返回给调用它的程序的数据返回值类型:方法要返回的结果的数据类型public static int square( int x )int y=x*x;return y; /返回值方法的定义 方法的分类根据参数个数:无参方法有参方法根据返回值类型:有返回值的方法:基本数据类型引用数据类型无返回值的方法voidprint(“#“);方法的定义 方法的分类public class FunctionAddpublic static int add(int x

12、,int y)int z=x+y;return z;public class FunctionRectvoid drawRect()int width=10int height=5;for(int i=0;iheight;i+)for(int j=0;jwidth;j+)System.out.print( # );有返回值有参方法System.out.println();无返回值无参方法方法的调用 方法的调用方法只有在被调用后才生效方法的调用方法:无参方法的调用有参方法的调用 无参方法的调用方法名( )方法的调用 有参方法的调用 形参 形参public class FunctionDemo 函

13、数名( 实参,实参, )public int add( int x , int y )int z=x+y;return z ;public static void main(String args) 实参FunctionDemo fd = new FuctionDemo() 实参int x = fd.add( 10 , 20 );System.out.println(x);int y = fd.add(100,200);System.out.println(y);方法的重载方法的重载(overload)方法的重载就是在同一个类中允许同时存在一个以上同名的方法方法重载的规则方法名称相同方法的参数

14、必须不同参数个数不同 或参数类型不同方法的返回值类型可以相同,也可以不同方法的重载 方法的重载(overload)Employee.javaclass Employeepublic Employee( )public Employee(String _name,int age)name = _name;age = _age;salary = _salary;FuncSum.java方法的重载 练习下列选项中,哪些可以与void setAge(int year,int month,intday)方法在同一个类中定义_?A. public void setAge() B. void setAge(int age) C. void setAge(int y,int m,int d) D. int setAge(Date d) E. int setAge(int year,int month,int day)F. void setage(int year,int month,int dat)答案:ABDF方法应该注意的问题 使用方法时的注意问题形参必须注明数据类型实参直接写,不需要类型声明方法的返回值,必须与方法声明中的返回值类型匹配不能在main() 中定义方法,方法是不能嵌套的Contents12345面向对象编程思想类的定义对象创建和使用this关键字static关键字

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 大学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报