面向对象基础

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
– 对象(object):是系统中用来描述客观事物的一个实体。 • 可以是有形的,也可以是无形的(如一个客户,一张银行卡
,窗体中的一个按钮等等) • 对象是构成世界的一个独立单位 • 具有自己的静态结构(属性)和动态行为(方法) • 每个对象有自己的唯一标识
面向对象编程思想-5/8

面向对象基本概念 – 类(class): • 类是一组具有相同属性和行为的对象的抽象,类的作用是用 来创建对象,对象是类的一个实例 – 类和对象的关系 • 抽象和具体的关系。 • 每一个类在某一时刻都有零个或更多的实例, 类是生成对 象的模板 • 一个类定义了使用哪些数据来描述属性,每一个对象都有 相应的属性值数据,一个类通过一系列方法来定义行为,这 些方法能在每个对象中被激活

什么是类 类的成员 方法重载

对象的创建和使用
创建对象 构造器 使用对象
this关键字 • 值传递 • static关键字

Contents
1 2
面向对象编程思想 类的定义
3
4 5
对象创建和使用 this关键字
值传递
面向对象编程思想-1/8

面向过程编程 – 传统的C语言属于面向过程编程。面向过程解决问题的思路:通 常是分析出解决问题所需要的步骤,然后用函数把这些步骤一步 一步实现,最后一个一个依次调用函数来解决。
class Employee{ public Employee( ) { } public Employee(String _name,int age){ name = _name; age = _age; salary = _salary; } }
方法的重载
☻ 练习
下列选项中,哪些可以与void setAge(int year,int month,int day)方法在同一个类中定义____? 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){}
public static int square( int x ) { int y=x*x; return y; //返回值 }
方法的定义
• 方法的分类
根据参数个数: 无参方法 有参方法 根据返回值类型: 有返回值的方法: 基本数据类型
引用数据类型
无返回值的方法 void
方法的重载

方法的重载(overload)
方法的重载就是在同一个类中允许同时存在一个以上同名的方法

方法重载的规则
方法名称相同 方法的参数必须不同 参数个数不同 或 参数类型不同 或 参数顺序不同 方法的返回值类型可以相同,也可以不同
方法的重载

方法的重载(overload)
面向对象编程思想-6/8

面向对象主要特征 – 封装(encapsulation): • 所谓封装是把对象的属性和行为结合在一个独立的系统单 位内部 • 尽可能隐蔽对象的内部细节,只向外部提供接口 • 降低对象间的耦合度 • 封装的重要意义: – 使对象能够集中而完整地描述并对应一个具体事物 – 体现了事物的相对独立性,使对象外部不能随意存取 对象的内部数据
– 步骤1:输入密码,系统判断是否正确,如正确,进入取款界面
• 案例:ATM提款机终端系统(面向过程编程)
,如错误,提示重新输入。 – 步骤2:进入取款界面,输入取款金额,系统判断余额是否足够 ,如不足,提示;如足够,点钞。 – 步骤3:吐出钞票,打印票据。
• 面向过程编程考虑的问题是程序运行的流程,主要是程序的算
vs
关注的焦点在于数据结构、
算法和执行步骤 过程通常难以被复用。
从面向过程到面向对象,不仅仅是编程方式的改变,更重要的是思考方式的改 变。
面向对象编程思想-4/8

面向对象基本概念 – 抽象(abstract): • 从事物中舍弃个别的非本质特征,抽取共同的本质特征 • 只考虑与问题域相关的信息,而忽略与问题域不相关的部分
法,而数据只是在必要的时候插入到算法中间。
面向对象编程思想-2/8

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

类的定义
属性 class Employee { String name; int age; double salary; public String showName(){ System.out.println(name); return name; } public int showAge(){ System.out.println(age); return age; 方法 } public void updateName(String name2){ name = name2; } public void getSalary(){ System.out.println("The salary of this month is 2000"); } }
方法名( )
方法的调用

有参方法的调用
形参
public class FunctionDemo { 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); } }
面向对象编程思想-3/8
案例:ATM提款机终端系统(面向对象编程) – 根据要解决的问题,可以抽象出如下对象: • 客户 • 银行卡 • 现金 • 票据 • 这些对象没有先后顺序,共同作用才构成了整个系统。我们只要用 代码设计出这几个类型的对象,然后让他们互相通信、传递消息就 可以完成系统功能。 • 面向对象编程思想实际上就是一种运用对象、类、继承、封装、聚 合、关联、消息、多态性等概念来构造系统的软件开发方法。
答案:ABDF
Contents
1 2
面向对象编程思想 类的定义
3
4 5
对象创建和使用 this关键字
值传递
什么是对象

类和对象的关系

面向对象编程思想-4/8
面向过程
系统以过程/函数为中心 来组织 过程间相互发送数据 过程的执行动作与数据被 明显的分离
面向对象
系统以对象为中心来组织 对象相互间发送消息 相关的属性和行为被统一到 对象上 关注的焦点是对象及对象的 职责 使得系统构建更容易,易维 护,易扩展,易复用 解决问题的方式更接近人的 思维方式,使人更容易理解
面向对象编程思想-7/8

面向对象主要特征 – 继承(inheritance): • 也称泛化,继承性是子类自动共享父类属性和方法的机制 ,在定义和实现一个类的时候,可以在一个已经存在的类 的基础之上来进行,把这个已经存在的类所定义的内容作 为自己的内容,并加入自己若干新的内容 • 继承简化了人们对事物的认识和描述,有益于软件复用, 是OO技术提高软件开发效率的重要原因之一 • 是类之间的一种关系,一般类与特殊类之间的关系 • 继承关系的语义:“is a kind of”
类成员的定义

成员变量: [修饰符] 类型 属性名=[默认值];
– 其中修饰符有:public、private、protected,也可以省略不写。 – 例如: • private int id; • private int age=20;

方法:
[修饰符] 返回值类型 方法名(形参列表){ 语句 }
JAVA编程基础 —— 面向对象基础
第六章 面向对象基础
目标: 介绍面向对象编程的基本思想,通 过本课的学习,学员应该掌握如下知识: 1)理解什么是类、对象、构造器, 2)对象在内存中的表现形式及如何使 用对象等。 3) this和static关键字
教学方法:讲授ppt + 上机练习
本章要点
面向对象的思想 • 类的定义
面向对象编程思想-8/8

面向对象主要特征 – 多态(polymorphism): • 指同一个命名可具有不同的语义 • OO方法中,常指在一般类中定义的属性或方法被特殊类继 承之后,可以具有不同的数据类型或表现出不同的行为, 对于子类,可用不同的方法替代实现父类的服务的方法
Contents
1 2
方法的定义
• 方法的分类
public class FunctionRect { void drawRect() { int width=10 int height=5; for(int i=0;i<height;i++) { for(int j=0;j<width;j++) { System.out.print("#"); } System.out.println(); } } }
方法的定义

方法
方法是完成某个功能的一组语句,通常将常用的功能写成一个
方法
• 方法的格式
[访问控制符] [修饰符] 返回值类型 方法名(参数类型 形式参数,参数类型 形式参数,…) { 方法体 }
方法的定义
• 方法的格式
形式参数:在方法被调用时用于接受外部传入的变量 参数类型:就是该形式参数的数据类型 返回值:方法在执行完毕后返回给调用它的程序的数据 返回值类型:方法要返回的结果的数据类型
面向对象编程思想 类的定义
3
4 5
对象创建和使用 this关键字
值传递
什么是类

类的定义
把相似的对象划归成一个类。
在软件设计中,类,就是一个模板,它定义了通用于一个特定种
类的所有对象的属性(变量)和行为(方法)。
什么是类

类的定义
?西游记游戏软件中的游戏人物
孙悟空:孙悟空的武器是金箍棒,战斗力五颗星,耐力五颗星 唐
僧:唐僧没有武器,战斗力为零,耐力五颗星
猪八戒:猪八戒的武器是耙子,战斗力四颗星,耐力两颗星 沙
僧:沙僧的武器是月牙铲 ,战斗力三颗星,耐力四颗星
类的格式

类的定义
[类修饰符] class 类名 { 类的成员 … } 修饰符一般为public,也可以没有修饰符。
注意类名的命名规范。类名一般大写 类的成员: 成员变量(属性) 成员方法(方法) 嵌套类 通过“.”调用属性和方法
无返回值无参方法
public class FunctionAdd { public static int add(int x,int y) { int z=x+y; return z; } }
有返回值有参方法
方法的调用
• 方法的调用Fra Baidu bibliotek
方法只有在被调用后才生效 方法的调用方法: 无参方法的调用 有参方法的调用 • 无参方法的调用
函数名(实参,实参,… )
形参
方法应该注意的问题

使用方法时的注意问题
形参必须注明数据类型 实参直接写,不需要类型声明 return只能返回一次
遇到return语句,方法结束执行,后续语句不执行
方法的返回值,必须与方法声明中的返回值类型匹配 方法定义,不能写在main()中 方法是不能嵌套的
相关文档
最新文档