chapter01面向对象设计讲稿.pptVIP

  • 3
  • 0
  • 约6.13千字
  • 约 44页
  • 2017-04-11 发布于湖北
  • 举报
第1章 面向对象程序设计导论 本章提供背景性、补充性的材料。让大家看清面向对象程序设计方法的完整面貌,在没有理解大背景之前就去编写面向对象的程序,会有点不舒服。因此会对许多概念进行介绍。 本章内容 比较C和JAVA的不同 面向对象的特征 封装与信息隐藏 继承 多态性 JAVA其他特征 JAVA技术及应用领域 为什么不是C++ 1.1 C和JAVA的不同 C是面向过程,java是面向对象。 int max(int num1,int num2) { if (num1num2) return num1; else return num2; } 1.1 C和JAVA的不同 面向对象其实是现实世界模型的自然延伸。 现实世界是由一个一个对象组成; 对象之间通过消息(请求和服务)相互协作,完成系统的功能. 1.1 C和JAVA的不同 C和java应用的范围不同 c主要应用在比较底层的一些东西,比如操作系统,驱动程序,嵌入式开发。 java应用比较表层,主要在网络,企业级应用ERP,大型信息系统等。 学习c和java没有任何冲突,学好了c和java几乎可以解决计算机所有的问题。 抽象化的过程 所有的编程语言都提供抽象。 汇编语言是对计算机的抽象, 随后许多语言(例如FORTRAON,BASIC和C)是对汇编语言的抽象,但是这是一种初级的抽象。仍然要求你从计算机的角度,而不是从待解决的问题的角度来考虑。 另外一种建立机器模型的方式,就是建立待解决问题的模型。LISP和PROLOG 抽象化过程 面向对象法更进一步,提供各式各样的工具,让程序员能在问题空间表述各种元素。这样程序员就不会被被限制在特殊问题上了。我们将问题空间的元素同它在解决空间的表述称为“对象”。 面向对象方法的特征 万物皆对象。理论上可以将待解决问题总的所有观念性组成都变成程序中的对象。 程序就是一组互相之间传递消息,告诉对方该干什么的对象。消息是调用专署某个对象的方法的请求。 每个对象都利用别的对象来组建它自己的记忆。可以通过将已有的对象打成一个包,来创建新的对象。 面向对象方法的特征 对象都有类型。任何对象都是某个类的实例。 所有属于同一类型的对象都能接受相同的信息。 每个对象都有接口 Light lt = new Light(); lt.on(); 接口(interface)规范了你能够对对象发出的请求。 不过还要有程序代码来满足这些请求。这些程序代码加上被隐藏的数据,构成了实现(implementation) 被隐藏的实现细节 java使用三个关键字来设定class的访问权限:public、private、protected。 Public定义后,每个任都可以使用 Private 除了类型开发者可以在该类型的member functions中使用,没有任何人可以使用。 Protected 和private相似,不过class的继承者可以访问 protected members,确无法访问private member Java缺省的是friendly访问权限,在同一个package中可以访问其他的calsses 重复运用实现代码 程序代码的重复运用,是面向对象程序设计最大的优点之一。 重复运用某个class最简单的方式就是直接使用其产生的对象。此外也可以把某个class对象置于另一个class内。 继承:重复运用接口 当你继承既有的类型时,便创造了新的类型,后者不仅可以包含前者所有的成员(但是private成员会被隐藏起来,而且无法访问),更重要的是它同时也复制了基类的接口。 继承:重复运用接口 继承:在已有类(父类 或超类)的基础上派 生出新的类(子类), 新的类能够吸收已有 类的属性和行为,并 扩展新的能力。 改变继承来的方法 定义一个几何图形类Shape,它具有“画图”行为,用draw()表示。但具体画什么图并不确定; 定义Shape类的一些子类如Circle圆和Rectangle矩形。 在子类中“画图”的具体行为draw()可重新定义为:圆类中draw()画圆;矩形类中draw()画矩形。 定义: Shape s; //s作为引用变量可指向Circle圆类的对象, 也可指向Rectangle矩形类的对象。 执行代码: s.draw(); //s调用draw()方法,s指向对象不同会 画出不同的图形(圆或矩形) JAVA其他特征 上面我们介绍了OOP的几个最基本特征,既封装、继承和多态。下面我们继续介绍一些问题,他们的重要性不亚于上述几点。 对象的创建,使用和生命周期 对象的生成和毁灭,C++认为效率是最重要的,将对象置于stack或静态存储区中,于是程序编

文档评论(0)

1亿VIP精品文档

相关文档