面向对象的编程思想总结

一.面向过程与面向对象
1.面向过程(Procedure Oriented Programming):以事件为中心,分析出解决问题的步骤
然后用函数将这些步骤一步一步实现,使用的时候依次调用
2.面向对象编程(Object Oriented Programming):以事物为中心,万象皆对象,
由实体引发事件,更贴近现实世界,更易于扩展
1)面向对象的概念:(oop)
OOP(Object-Oriented Programming) 面向对象的编程技术为编程人员敞开了一扇大门,使其编程
的代码更简洁,更易于维护,并且具有更强的可重用性
2)OOP达到了软件工程的三个目标:
重用性、灵活性、扩展性
3)OOP面向对象编程的特点:
封装、继承、多态
二.类与对象
1.什么是类?
具有相同特性和行为的对象的抽象就是类,因此,类是具有共同属性行为的对象抽象(类是对象的详情信息)
2.什么是对象?
对象是客观事物的一个实体,类的实体化就是对象(对象就是把类的详情信息组成一个对象来进行调用类里面的属性)
3.类的声明
类由成员属性和成员方法组成,是客观事物的抽象
成员属性:事物的特性
成员方法:事物的功能
类的声明:建议使用大驼峰(GirlFriend)
class 类名{
   访问控制修饰符 $属性名=属性值;
   ...
   访问控制修饰符 function 方法名(参数){
       方法体;
   }
   ...
}
访问控制修饰符有public(公共的),protected(受保护的),private(私有的)
public(公共的) 该成员能被外部代码访问和操作
private(私有的) 对于类内部成员都可见,没有访问权限,对类外部不允许访问
protected(受保护的) 只允许该类的子类进行访问

4.类的实例化
当定义好类后,可以使用new关键字来生成一个对象
$对象名称=new 类名称();
$对象名称=new 类名称(参数列表);

5.实例化对象内存分析
实例化的过程就是为对象分配内存空间的过程,此时,对象才成为类的实例
初始化静态段:通常用来存放程序中已初始化且不为0的全局变量:如静态变量和常量
栈内存:空间小,访问速度快,通常用来存放长度固定不变的数据类型;比如整数型,布尔型,浮点型
堆内存:空间大,通常存放长度不固定,占用空间大的数据类型:比如字符串型,数组和对象
代码段:通常用来存放程序执行代码的一块内存区域:比如函数和方法

6.成员对象的访问与赋值
使用特殊符号 '->' 来访问对象中成员的属性或者成员的方法
$对象=new 类名();
$对象->成员属性=赋值; 对象属性赋值
echo $对象->成员属性; 输出对象属性
$对象->成员方法(参数); 调用对象方法
特殊对象引用$this
就是在对象内部的成员方法中,代表本对象的一个引用,但只能在对象成员方法中使用;

三.构造方法
大多数类都有一种称为构造方法的特殊方法,当创建一个对象时将自动调用构造方法,通常用他执行些有用的初始化任务
PHP4版本中,构造方法的名字必须与类名相同
PHP5版本中,构造方法采用魔术方法 __construct()
构造方法没有返回值
一个类只能有一个构造方法
在实例化对象时给构造方法传参
声明类是不能进行传参的
所以用这种构造方法给类传参
$对象名=new 类名(参数1,...)

四.析构方法
与构造方法相对的就是析构方法
析构方法是PHP5新添加的内容
析构方法是在对象被销毁之前自动调用的方法
例如关闭文件,释放结果集
析构方法采用魔术方法__destruct()
析构方法不能带有任何参数
例:
class Person{
   public function __destruct(){
      echo "再见".$this->name."
"; } }

你可能感兴趣的:(学习总结)