[麦先生]PHP面向对象基础知识小结
麦先生引言: 伴随着PHP对于面向对象的思想的引入,其执行高效率,代码可塑性,可重用性也促使PHP进入了井喷式发展,对于很多像我这样的初学者而言,如何理解面向对象的思想并灵活运用最为重要;
面向对象的定义:万物皆对象,每一个拥有特定功能和属性的事务都可以成为一个对象,而运用面向对象的思想就是摒弃过去的过程化开发的繁琐和重复,让对象替我们办事情;那么多个拥有相似功能的对象我们可以把他们看成一个大类,称之为类;
面向对象的三大特点:封装,继承,多态;
类的声明方式:class关键字+类名+{};其中类名的命名规则:运用首字母大写驼峰命名法,数字字母下划线,首字母不能为数字,严格区分大小写且不能使用关键字;
1-成员属性的声明方法:3P修饰符+ 属性名称;(初始值可有可无;不能以算术运算符,变量,可调用的函数来赋值;);
2-成员方法的声明:声明的方法和函数一样, 修饰符+function+方法名(){} //参数可有可无,方法体和返回值都是可有可无; 需要注意的是 如果多个方法同时调用一个事 务的值,则可以将该事务声明为一个成员属性;
3-类常量:使用const定义 const+常量名=常量值;
$this用法:$this是一个特殊的变量;只能在类的内部成员方法中使用;代表的是当前正在访问该对象的方法;
继承:类的继承是PHP面向对象中的点睛之笔,大大的提高了代码的可塑性和重用性,在php中子类对父类的继承要使用关键字 extends ; 格式:class A extends B{}
优点是:可以将B类中除了private(私有的属性和方法之外的)包括构造、析构方法全部为自己所用;
缺点:只支持单一继承,要想实现多继承,只能通过链式继承来实现;
子类对父类方法的重写:如果子类存在一个方法名与父类方法名同名,实例化该子类对象并调用该方法,结果会是调用的子类方法;如果要用父类方法 必须使用关键字 parent::方法名();
多态:同一个操作 针对不同的子类对象 产生不同的效果;