面向对象
程序设计 Java语言与面向对象程序设计第二语言与面向对象程序设计(第二语言与面向对象程序设计版)教程教程
主要内容
??????????第一章面向对象
软件开发概述第二章java概述第二章概述第三章java语言基础第三章语言基础第四章抽象、封装与类第四章抽象、第五章继承与多态第六章工具类与算法第七章图形用户界面的第八章java高级编程第八章高级编程第九章java数据库编程接口第九章数据库编程接口第十章java开发环境与工具开发环境与工具
一、面向对象
问题求解的提出
?面向过程的求解早期程序主要用于解决计算问早期程序主要用于解决计算问题不能很好地表述复杂的
系统CFortran?用
计算机理解的方式表述和解决问题,向计算机用计算机理解的方式表述和解决问题,靠拢?软件危机软件的可靠性差维护困难等问题?1966SimulaI首次提出模拟人类思维方法?1980Smalltalk80面向对象语言?面向对象语言C++java等等?C++广大程序员所接受指针广大c程序员所接受?Java一次编写多次使用安全跨平台一次编写
二、面向对象问题求解概述
?面向过程:以具体的解题过程为研究和实现主体?面向对象:以需解决的问题中所涉及的各种实体(对象)为主要矛盾?银行取钱为例drawmoney(cardnum,key,sum)classcard{cardnum,key,sum,drawmoney(…)}?力图从实际问题抽象出封装了数据和操作的对象数据和操作的对象通过定义属性和操作来表述他们的特征和功能,通过定义属性和操作来表述他们的特征和功能,通过定义接口来描述他们的地位及与其他对象的关系,最终形成一个广泛联系的可理解扩充维护更接近问题本来面目的动态对象模型系统
?对象:是现实世界的实体或概念在计算机中的抽象表示。用来模拟组成或影响现实世界问题的一个或一组因素。(下一节详细介绍)?面向对象程序设计的优点:
封装
1.对数据的封装提高了程序的可复用和可维护性2.由于封装,保护私有数据3.有的性:的对象封装了()或向界。4.和的机界5.提高了程序的复用性和
?在今后的
学习中,我们不难发现封装和继承是面向对象程序设计的基础和核心。而这其中抽象方法的利用使得封装和继承得以实现。?通过抽象将现实世界中的实体转换为计算机中的对象?通过对具有相同特征的对象的抽象形成了类?通过对象对类的继承以及子类和父类间的继承实现了代码的复用。?下面详细介绍对象类与实体
三、基本概念对象类实体
请记住并体会:请记住并体会:?面向对象程序设计的实质是让计算机逻辑来模拟所有的面向对象现实世界的物理存在,现实世界的物理存在,可以使人们以更接近与人程序都是由对象类自然思维模式的方式解决问题(类)来组成的?对象、类:核心概念对象、
现实世界计算机世界对象实例化
类
映射
实体抽象概念世界
抽象
计算机逻辑的实现
抽象数据类型
1.对象:面向对象技术的核心概念之一。如上图所示,对象:面向对象技术的核心概念之一。如上图所示,对象就是现实世界中某个具体的物理实体在计算机中的映射和体现。中的映射和体现。对象拥有各自的静态属性和相关的操作。比如,现实世界中的电视机是一个实体,的操作。比如,现实世界中的电视机是一个实体,有品牌、尺寸、颜色、开关、控制器等。有品牌、尺寸、颜色、开关、控制器等。2.类:面向对象技术的另一个重要概念。类是同种对面向对象技术的另一个重要概念。象的集合和抽象。因此,类也具有属性和操作(象的集合和抽象。因此,类也具有属性和操作(方花样滑冰..短道速滑..高山滑雪..法)运动员花样滑冰短道速滑高山滑雪3.实例化:类的某一对象被称为是类的一个实例化。实例化:类的某一对象被称为是类的一个实例化。在以后的编程中将会看到,在以后的编程中将会看到,所有的程序都是由若干对象和类组成
四、对象的属性与相互关系
对象的属性:对象的状态和行为是对象的属性对象的属性:对象的状态和行为是对象的属性状态和行为对象是具有以下三种属性的计算机软件结构:状态、对象是具有以下三种属性的计算机软件结构:状态、行为和标志对象的状态又称为对象的静态属性,对象的状态又称为对象的静态属性,主要指对象内部所包含的各种信息,也就是变量,比如,颜色、所包含的各种信息,也就是变量,比如,颜色、大小位置等。变量的值表明了对象所处的状态,位置等。变量的值表明了对象所处的状态,当对象经过某种操作或行为而发生状态的改变时,过某种操作或行为而发生状态的改变时,具体体现在属性(变量变量)的内容的改变属性变量的内容的改变对象的行为又称为对象的操作(方法方法),对象的行为又称为对象的操作方法,主要表述对象的动态属性,作用是设置或改变对象的状态。对象的的动态属性,作用是设置或改变对象的状态。方法一方面把对象的静态属性包裹封装起来,方法一方面把对象的静态属性包裹封装起来,一方面也是对象与外部环境和其他对象交互的接口图示