OO思想

来源:互联网 发布:大学生网络虚拟 编辑:程序博客网 时间:2024/04/30 03:00

Object-Oriented 是使用对象,通过对象之间的交互来完成任务达到目的。
按软件开发生命期几个阶段来分的:
OOA(面向对象的分析)是通过这种方式进行系统分析;
OOD(面向对象的设计)是通过这种方式进行系统设计;
OOP(面向对象的编程)是通过这种方式来编程来实现;

另一种分类方式可以分为
OO思想和OO技术,其中,OO技术就可以包括上述的三种(OOA/D/P).

下面谈谈OO的本质。
OO的本质就是把要解决的问题领域分类为不同对象,通过对象之间的关系来寻找解决问题方案。基于这种想问题的方法就是对象思想。这种思想很自然,因为大自然中的事物本身就是“分门别类的”。
OO的本质是封装、继承和多态。

面向对象的优点是
  1. 降低复杂度
  2. 将易变的和不易变的分离
  3. 基于面向对象技术还推动了软件开发方法的演进。


类(class)是用来描述一个对象(object):
类描述了每个对象应包括的数据
类描述了每个对象的行为特征(如:类仅仅是对象的描述,就好像楼房的设计图纸。)

class/object:类(class)和对象(object)是面向对象方法的核心概念。
类是对一类事物描述,是抽象的、概念上的定义;
(类好像是在图纸上设计的楼房,楼房设计出来了,但这个楼房并不存在。)

对象是实际存在的该类事物的每个个体,因而也称实例(instance)。
(对象是实实在在存在的,照着楼房的设计图纸,高楼盖起来,可以住进去了。在计算机中,可以理解为,在内存中创建了实实在在存在的一个内存区域存储着这个对象。)

创建对象的过程称为创建对象也称为实例化。
如,一张楼房图纸创建了多个别墅(对象)。
思考一下:
它们外观一样么?
它们结构一样么?
它们是一个对象么?

属性:用来描述对象的数据元素称为对象的属性(也称为数据/状态)
属性指在class中声明的变量。在声明变量时,必须使用public private protected之一进行修饰,定义变量的访问权限。
1)public(公开):可以自由的在类的内部外部读取、修改;
2)private(私有):只能在这个当着类的内部读取、修改;
3)protected(受保护):能够在这个类和类的子类中读取和修改;
属性的使用:通过引用变量的->符号调用变量指向对象的属性;
        在方法内部通过$this->符号调用同一对象的属性;

private修饰的属性,在当前对象以外不能访问。设置私有属性是为了进行数据的隐藏。
隐藏:指对象的一种保护机制,使得它的属性或方法不被外部的程序直接访问。

方法:对对象的属性进行的操作称为对象的方法(也称为行为/操作)
过程 函数 方法
过程:过程是编制程序时定义的一个语句序列,用来完成某种指定的操作。
函数:函数有返回值,也是定义的语句序列。
方法:在面向对象概念中,类里面的一段语句序列。

一般来说,在面向对象概念中,函数和方法两名词是通用的。

封装指的是将对象的状态信息(属性)和行为(方法)捆绑为一个逻辑单元的机制。
通过数据封装、声明为私有的(private),再提供一个或多个公开的(public)方法实现对该属性的操作,以实现下述目的:
1)隐藏一个类的实现细节;
2)防止对封装数据的未经授权的访问。使用者只能通过事先定制好的方法来访问数据,可以方便地加入
控制逻辑,限制对属性的不合理操作;
3)有利于保证数据的完整性;
4)便于修改,增强代码的可维护性;

构造函数(用途:就是使类被初始化(即:new classname();)时,就运行构造函数里的代码。)
构造方法又称构造函数,是对象被创建时自动调用的方法,用来完成类初始化的工作
构造函数和其它函数一样,可以传递参数,可以设定参数默认值。
构造函数可以调用属性,可以调用方法。
构造函数可以被其它方法显式调用。

原创粉丝点击