第03讲类与对象(I).pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第03讲类与对象(I)

北理工珠海学院计算机学院 第三讲 类与对象(I) 复习上次课内容: 八种基本数据类型 常量、变量、运算符 三种结构化编程的控制结构 本次课内容 类与对象概述 类的声明 ★ 类成员的访问控制 ★★ 使用对象实例 静态成员 ★★ 完整的类声明 3.1类与对象概述 类:描述实体抽象概念 成员:数据成员+方法成员 数据成员:实体的属性 方法成员:实体的行为 实体的约束只能隐式地表达在属性或行为中。 对象:描述实体具体个体 面向对象程序设计 新认识:程序中数据结构变得与数据上操作同样重要。 新做法:程序围绕被操作的数据来设计,而不是围绕操作本身。 以类作为构造程序的基本单位,具有封装与信息隐藏、数据抽象、继承、多态性等特点。 语言:Simula、Smalltalk、Eiffel、C++、Java、C#、 ... 什么是对象? Everything is an object! *A program is a bunch of objects telling each other what to do by sending messages. 观察:无处不在;思维:无处不在 哲学:无处不在 现实世界: 学生、教师、 飞机、发动机、雷达、传感器、 电视机、钟表、 库存商品、入库单、记帐凭证、... 思维世界: 复数、矩阵、 随机数发生器、 线性链表、堆栈、队列、... 抽象:建模的主要思维方式 抽象 面向对象程序设计是一个建模过程 3.2 类的声明 数据成员 描述实体的属性。 变量的声明与初始化 方法成员 描述实现的行为。 方法的声明 例子一:银行帐户 练习 请自定义一个student类,其中包含几个属性和至少一个方法. 类作用域 类中声明的数据或方法成员的作用域涵盖整个类 声明在前的方法体中,可调用声明在后的方法或数据成员。 类中声明的形式参数或局部变量隐藏同名数据成员 Name Shadowing 3.3 类成员的访问控制 包的概念(举例) Package Java API 四种访问控制 public 这些成员能由所有的类访问。 protected 这些成员只能由派生类或同一程序包中的类访问。 对其他程序包的派生类而言,效果相当于public。 对其他程序包的非派生类而言,效果相当于private。 default 不加缀任何访问控制保留字,又称friendly access或package access。 这些成员只能由同一程序包(包括默认程序包)中的类访问。 对本程序包的类而言,效果相当于public。 对其他程序包的类而言,效果相当于private。 private 这些成员是除自身外任何类都不允许访问。 只有类自己的那些方法体中才可访问这些成员。 类成员访问控制的设计模式 总体设计思想 尽可能保持私有性 3.4 使用对象实例 类不会自动执行任何功能 类是一种类型定义机制 像创建基本类型变量那样创建对象并初始化对象状态: int i = 0; 创建对象实例 Account zhang3 = new Account(100); 使用Account类 深入了解对象状态 new为对象分配存储空间并初始化这些存储空间 类是对象的模板,决定其存储空间组织方式 存储空间的组织 每一个对象的数据成员占据不同内存区域; 所有对象的方法成员共享同一段程序代码。 类决定了对象的内部表示、取值范围、可用操作 对象状态的初始化 声明数据成员时初始化 // 银行帐户的属性 private double balance = 0; // 存款余额 使用构造方法:一种特殊的方法成员 方法名与类名相同且无返回值(void也不行)。 但允许像普通方法那样定义一个形式参数表。 创建对象实例时会自动调用一次构造方法初始化对象的状态。 程序员自己无法显式地调用构造方法 创建信用卡帐户 数据:透支限额 存款余额 方法:存款 取款 查询 对象作为参数传递 Java语言仅提供一种参数传递方式,即值传递。但是,传递对象的效果与按引用传递相同 this关键字 用于任何实例方法内,指向当前对象 this 的值指向对其调用当前方法的对象 this 关键字可在需要当前类类型的对象引用时使用 构造方法 每当创建一个类的实例时就调用的方法 为对象分配内存,初始化实例变量 与类同名,但没有返回类型 两种构造方法 参数化构造方法 隐式构造方法 6.5 静态成员 定义静态成员 static ... 静态数据成员(类变量) 该属性是类的属性,而不是某一

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档