07面向对象程序设计1-zw

时间:2025-07-14

07面向对象程序设计1-zw

Softeem Consultancy Service

面向对象程序设计1 面向对象程序设计

ID:SCSJ001-Java Basic Syntax

07面向对象程序设计1-zw

Softeem Consultancy Service

课程目标

信息的隐藏和封装 this关键字 关键字 访问控制 对象的构造和初始化 方法的重载(overload) 方法的重载 静态域与静态方法(static) 静态域与静态方法

2011-7-15

2

07面向对象程序设计1-zw

Softeem Consultancy Service

信息的隐藏和封装

隐藏:指的是对象的一种保护机制,使得它的属性或方法不被外 隐藏:指的是对象的一种保护机制, 部的程序直接访问 封装指的是将对象的状态信息(属性)和行为(方法)捆绑为一 封装指的是将对象的状态信息(属性)和行为(方法) 个逻辑单元的机制。 个逻辑单元的机制。 public class Student{

public int age; }

public class StudentTest{

public static void main(String args[]){ Student s = new Student(); //合“法”但不合理的设置 s.age = 1000; } }

2011-7-15

3

07面向对象程序设计1-zw

Softeem Consultancy Service

为什么需要封装 ?

编写一个类,代表softeem学员,要求: 编写一个类,代表 学员, 学员 要求:

– – – 具有属性:姓名、 具有属性:姓名、年龄 具有行为:自我介绍 具有行为: softeem学员的最小年龄要求:18岁 学员的最小年龄要求: 岁 学员的最小年龄要求

public class SofteemStudent{ public String name; // 学员姓名 public int age; //年龄 年龄 /** * 返回自我介绍的内容 */ public String introduction() { return “大家好!我是” + name + “,我今年”+ age+“岁! 大家好! 大家好 我是” ,我今年” 岁 "; } }

2011-7-15 4

07面向对象程序设计1-zw

Softeem Consultancy Service

编写一个测试类,要求: 编写一个测试类,要求:

– 实例化一个学员对象,并对其初始化 实例化一个学员对象, – 在控制台输出该学员的自我介绍

public class SofteemStudent1Test { public static void main(String[ ] args) { SofteemStudent sstu = new SofteemStudent (); http:// = “周博通 周博通"; 周博通 sstu.age =8; System.out.println(sstu.introduction()); } } 大家好!我是周博通,我今年8 大家好!我是周博通,我今年8岁! 要满足学员的最小年龄要求, 要满足学员的最小年龄要求,可以通过对属性的封装来实现

2011-7-15 5

07面向对象程序设计1-zw

Softeem Consultancy Service

程序中, 在java程序中,我们可以这样实现封装: 程序中 我们可以这样实现封装:

将属性私有化, 将属性私有化,提供公有方法访问私有属性 通过这些公有方法访问私有属性

public class SofteemStudent2{ private String name; // 学员姓名 // 返回学员姓名 public String getName() { return name; } // 设定学员姓名 public void setName(String name) { http:// = name; } } this代表当前类的实例, 代表当前类的实例, 代表当前类的实例 方法的调用者本身 通过setter、getter

方法 通过 、 方法 SofteemStudent2 sstu = new 访问name属性 访问 属性 SofteemStudent2(); 周博通"); sstu.setName (“周博通 周博通 String sName = sstu.getName();

2011-7-15

6

07面向对象程序设计1-zw

Softeem Consultancy Service

封装的实现: 封装的实现:

1、修改属性的可见性来限制对属性的访问 、 2、为每个属性创建一对赋值 和取值(getter) 的公共方法, 的公共方法, 、为每个属性创建一对赋值(setter) 和取值 用于对这些属性的访问 3、在setter和getter方法中,加入对属性的存取限制 方法中, 、 和 方法中

public class SofteemStudent2{ private String name; //学员姓名 学员姓名 //年龄 年龄 1 private int age;

2

3

public int getAge() { return age; } public void setAge(int age) { if (age<18) { System.out.println("错误!最小年龄应为 岁!"); 错误! 错误 最小年龄应为18岁 this.age = 18; //如果不符合年龄要求,则赋予默认值 如果不符合年龄要求, 如果不符合年龄要求 } else { this.age = age; } } //此处省略对 此处省略对name属性的 属性的setter、getter方法 此处省略对 属性的 、 方法

7

}

2011-7-15

07面向对象程序设计1-zw

Softeem Consultancy Service

测试类通过调用setter方法,为对象的各个属性赋值 方法, 测试类通过调用 方法

public class SofteemStudent2Test { public static void main(String[ ] args) { SofteemStudent2 sstu = new SofteemStudent2(); 周博通"); sstu.setName (“周博通 周博通 sstu.setAge(8); System.out.println(sstu.introduction()); } } 错误!最小年龄应为 岁 错误!最小年龄应为18岁! 大家好!我是周博通 我今年18岁 周博通, 大家好!我是周博通,我今年 岁!

2011-7-15

8

07面向对象程序设计1-zw

Softeem Consultancy Service

1

隐藏一个类的实现细节 2 3 4 防止对封装数据的未经授权的访问 有利于保证数据的完整性 便于修改, 便于修改,增强代码的可维护性

封装 的 好处

5

有选择地向外界提供数据

2011-7-15

9

07面向对象程序设计1-zw

Softeem Consultancy Service

this关键字 关键字

Java中为解决变量的命名冲突和不确定性问题 , 引入 中为解决变量的命名冲突和不确定性问题, 中为解决变量的命名冲突和不确定性问题 关键字 …… 此处隐藏:3119字,全部文档内容请下载后查看。喜欢就下载吧 ……

07面向对象程序设计1-zw.doc 将本文的Word文档下载到电脑

    精彩图片

    热门精选

    大家正在看

    × 游客快捷下载通道(下载后可以自由复制和排版)

    限时特价:7 元/份 原价:20元

    支付方式:

    开通VIP包月会员 特价:29元/月

    注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
    微信:fanwen365 QQ:370150219