Java 语言中面向对象特性.ppt

  1. 1、本文档共41页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Java 语言中面向对象特性 TA: 栗志果 Email:zhiglee@ 一切皆对象 think in java 面向对象编程的基本概念和特征 什么是oop? 为什么要oop? Oop的一些基本概念 Oop的一些准则 1 例子:栈 1) 非面向对象方案 struct Stack { int top; int buffer[STACK_SIZE]; }; void init(Stack s) { s.top = -1; } bool push(Stack s, int i); { if (s.top == STACK_SIZE-1) { cout “Stack is overflow.\n”; return false; } else { s.top++; s.buffer[s.top] = i; return true; } } bool pop(Stack s, int i) { if (s.top == -1) { cout “Stack is empty.\n”; return false; } else { i = s.buffer[s.top]; s.top--; return true; } } …… Stack st; int x; init(st); push(st,12); pop(st,x); 2) 面向对象方案 class Stack { Private: int top; int buffer[STACK_SIZE]; public: Stack() { top = -1; } bool push(int i); { if (top == STACK_SIZE-1) { cout “Stack is overflow.\n”; return false; } else { top++; buffer[top] = i; return true; } } bool pop(int i); { if (top == -1) { cout “Stack is empty.\n”; return false; } else { i = buffer[top]; top--; return true; } } }; Stack st; int x; st.push(12); st.pop(x); st.top = -1; //error st.top++; //error st.buffer[st.top] = 12; //error 3)两种方案的简单比较 方案1)中对栈的操作可以通过提供的函数来实现,也可以直接在栈的数据表示上直接进行;方案2)中只能通过提供的函数来操作栈。 直接操作数据的弊病在于: 不安全,易产生错误,并且定位错误较为困难。 一旦数据表示发生变化,将影响所有的操作。 方案1)需要显式地对栈进行初始化,方案2)则否。 2 定义 面向对象程序设计是把程序构造成由若干对象组成,每个对象由一些数据和对这些数据所实施的操作构成;对数据的操作是通过向包含数据的对象发送消息来实现(调用对象的操作);对象的特性(数据与操作)由(对象)类来描述,一个类的特性可以从其它的类继承。 上述的定义包含了下面的基本概念: 对象:对象式计算的基本单位,由:接口,数据,操作构成。 通信:引起对象式计算的唯一方式。 类:对象特性的描述。 继承:复用机制。 为什么要oop? 一个好的软件开发方法或技术的评价标准:开发效率和软件质量保证。 开发效率指方法使用的难易程度和方法缩短开发周期的程度等。 软件质量包括:外部质量和内部质量。 外部质量:软件中与用户有关的质量因素,这里的用户包括最终用户和二次开发用户。包括:正确性(Correctness)、效率(Efficiency)、健壮性或鲁棒性(Robustness)、可靠性(Reliability)、可用性(Usability)和可复用性(Reusability)等方面。 内部质量:软件中与软件开发人员有关的质量因素。包括:可读性(Readability)和可维护性(maintainability)等。 外部质量靠内部质量来保证。 下面就能够保证软件质量的几个程序设计机制来说明面向对象程序设计的优势: 1 抽象(Abstraction) 处理大而复杂问题的重要手段是抽象:强调事物本质的东西。对程序抽象而言,一个语言结构的抽象强调的是该结构外部可

文档评论(0)

yan666888 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档