A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 陈郊 中级黑马   /  2012-9-27 12:51  /  1248 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

2.面向对象面向过程与面向对象
对象
对象是构成现实世界的一个独立单位,人们对世界的认识,是从分析对象的特征入手的。
对象的特征分为静态特征动态特征两种。静态的特征指对象的外观、性质、属性等;动态的特征指对象具有的功能、行为等。
面向过程:注重的是执行的动作。必须对每个细节了如指掌。
面向对象:注重的是实体(对象)。隐藏了方法和整个过程的细节。
注:1.面向对象注重的是实体,我们在分析问题是,首先不要执行具体的操作,要找到这些实体(对象),我们要分析实体具有什么行为(功能)。分析具体的动作属于哪个实体时,只需要考虑当前这个动作,哪个实体更了解,这时候就将这个动作赋予哪个实体。
2.对于开发者:在面向对象中,开发者其实就是在不断的使用对象,创建对象调用对象的行为来完成具体的操作。
3.对于设计者:我们在涉及阶段,就是分析出各个对象,将行为赋予各个对象,来维护对象之间的关系。
4.在分析阶段,有一种比较简单的分析方法叫名词分析法
                     人开门---->人与门名词   动词
                     对象:人,门
                     动作:开
                     开是门的动作。
面向对象的优点
1.是一种符合人们思考习惯的思想
2.可以将复杂的事情简单化
3.将程序员从执行者转换成了指挥者
4.完成需求时:
先要去找具有所需的功能的对象来用。
如果该对象不存在,那么创建一个具有所需功能的对象。
这样简化开发并提高复用
面向对象的三个基本特征:
       封装 它有两个含义:一是指把对象的属性和行为看成一个密不可分的整体,将这两者封装在一个不可分割的独立单位(即对象)中。另一层含义指信息隐蔽,把不需要让外界知道的信息隐藏起来,有些对象的属性及行为允许外界用户知道或使用,但不允许更改,而另一些属性或行为,则不允许外界知晓;或只允许使用对象的功能,而尽可能隐蔽对象的功能实现细节。
继承 若一个子类只允许继承一个父类,称为单继承;若允许继承多个父类,称为多继承。目前许多面向对象程序设计语言不支持多继承。而Java语言通过接口(interface)的方式来弥补由于Java不支持多继承而带来的子类不能享用多个父类成员的缺憾。
多态是允许程序中出现重名现象。Java语言中含有方法重载与成员覆盖两种形式的多态
方法重载:在一个类中,允许多个方法使用同一个名字,但方法的参数不同,完成的功能也不同。
成员覆盖:子类与父类允许具有相同的变量名称,但数据类型不同,允许具有相同的方法名称,但完成的功能不同。
多态的特性使程序的抽象程度和简捷程度更高,有助于程序设计人员对程序的分组协同开发。
类与对象
类(class)和对象(object)就是面向对象方法的核心概念。类是对某一类事物的描述,是抽象的、概念上的定义;对象是实际存在的该类事物的个体,因而也称实例(Instance)
在描述任何一类事物时从两个方面入手:
                     1.外观,属性
                     2.具有的行为,动作
              将这两个方面进行综合归纳就可以得到一类特定的事物,称之为类。
java中定义类使用的是class关键字
定义类的格式:
              class  类名{
                         成员属性------可以是java中的任意一种数据类型
                         成员方法
                        }
注:我们在java中将类的属性,方法称之为类的成员。
!小提示:
声明类名时,类名中单词的首字母是大写的,这是规定的一种符合标准的写法,在本书以后的范例中都将采用这种写法。
对象
类的一个具体化(实例化)的事物。类是对象的一个抽象。根据这个类产生的对象就具有这个类定义时所有的属性。
定义对象的格式:
类名 对象名 = new 类名() ;
创建属于某类的对象,需要通过下面两个步骤来实现:
1、声明指向"由类所创建的对象"的变量
2、利用new创建新的对象,并指派给先前所创建的变量。
例如:
Person p ; // 先声明一个Person类的对象p
p = new Person() ; // new 关键字实例化Person的对象p
当然也可以用下面这种形式来声明变量:
Person p = new Person() ; // 声明Person对象p并直接实例化此对象
注:同一个类的对象具有相同的属性,但其属性值可能不同。
!小提示:
对象只有在实例化之后才能被使用,而实例化对象的关键字就是new。

评分

参与人数 1技术分 +1 收起 理由
王海宇 + 1

查看全部评分

2 个回复

倒序浏览
这么详细 比我了解的强多了
回复 使用道具 举报
顽强探索中!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马