`
zccst
  • 浏览: 3323299 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

php面向对象基础知识

 
阅读更多
作者:zccst

类和对象的概念

批注:面向对象部分几乎是从Java照搬过来的。就当再熟悉一遍。当然,最重要的是实践,动手运行一遍那些不怎么常用的地方。

属性

方法
方法的参数形式和传递方式
方法的参数可以是基本数据类型、数组和类对象。
基本数据类型:值参传递
数组:值参传递
类对象:引用传递



属性和方法的访问


构造函数
构造函数是在类中起到初始化的作用
构造函数的生成方法与其他函数一样只是其名称必须是__construct().
语法格式:function __construct(参数){
。。。。。。。。
}
范例:
class Person{
    public $name;
    public $sex;
    public $age;
    function __construct($name,$sex,$age){
        echo "我是构造函数<br>";
        $this->name=$name;
        $this->sex=$sex;
        $this->age=$age;
    }
}

输出结果:初始化
析构函数
当对象脱离其作用域时(例如对象所在的函数已调用完毕),系统自动执行析构函数。应在退出前在析构函数中用释放内存。
析构函数__destruct 析构函数没有任何参数
范例:
class person{
	function __destruct(){echo "bye bye !“; }
}
$a=new person();


__get与__set
一般说把类私有话更符合现实的逻辑。
预定义两种函数来进行获取与赋值操作。
__get 获取值通常是域的值
__set 设置值通常是域的值
__call 调用一个对象中不存在的方法时,就会产生错误call()这个方法来处理这种情况。



/**** static ***/
static关键字 来声明静态方法
static静态变量 在类的内部生成一个静态变量 就是能够被所有类的实力化共想 也就是说静态成员则放到了“初始化静态段”,在类第一次被加载的时候放入的,可以让堆内存里面的每个对象所共享
使用方法:self::$静态属性、self::静态方法
static function p(){
	echo self::$country;
	echo self::PI;//访问常量
	//echo $this->name;在静态方法中只能操作静态属性
	//self::p();
}

外部调用:类::$静态属性、类::静态方法






const关键字:用来生成常量 常量是唯一的不能改变的 惯例常量为大写
const CONSTANT = 'constant value'; 生成一个常量
echo self::CONSTANT;//类内部访问
echo ClassName::CONSTANT;//类外部访问



覆盖父类原有属性
clone克窿对象 语法格式$c=clone $p; $c克窿的对象$p 输出echo $c->name;

对象比较
===两个比较运算符。
==是比较两个对象的内容。
===是比较对象的句柄,即引用地址。





instanceof操作符用于检测对象实力是否属于某一个类的类型 属于返回true 不属于返回false
__clone()如果想在克隆后改变原对象的内容,需要在__clone()中重写原本的属性和方法
function __clone(){
$this->name="我是一个克隆人";
}



final表示一个类是最终版本 也就是说它不能在被子类调用



多态性

多态性是指在父类中定义的属性或行为被子类继承之后,可以具有不同的数据类型或表现出不同的行为。这使得同一个属性或行为在父类及其各个子类中具有不同的语义。
就是说同一种方法在子类与父类中执行的结果不同。
class A {
	function info(){
		echo “A INFO”;
	}
}
class B extends A {
	function info(){
		echo “B INFO”;
	}
}
class C extends A {
	function info(){
		echo “C INFO”;
	}
}
function printinfo($obj){
	function printinfo(A $obj){
	if($obj instanceof A)
		$obj->info();
		$obj->info();
	}
}
$a=new A(); $b=new B(); $c=new C();
printinfo($a); //输出A INFO
printinfo($b); //输出B INFO
printinfo($c); //输出C INFO





抽象方法和抽象类
抽象类不能被实例化,一个抽象类中,必须有一个抽象方法。但是抽象类中可以定义动态函数。
abstract class Person{
	public $name;
	abstract function getInfo();
}

抽象方法是作为子类模板使用的。





接口
当一个类继承了一个接口之后,它要覆盖接口的所有方法。
接口只能声明常量,
接口的方法必须定义为公有,否则无法继承。

接口可以与多个接口间继承

语法:
interface PCI{
	const TYPE="PCI";
	//public $name; error
	function start();
	function stop();
}

接口中的方法可以声明为static
interface A{ function a();}

interface B{ function b();}

interface C extends A{ 
	function c();
}

class D implements B,C{
	function a(){}
	function b(){}
	function c(){}
}
分享到:
评论

相关推荐

    PHP面向对象 基础知识点汇总(代码+知识点+xmind思维导图)

    本资源提供了全面的PHP面向对象基础知识点,包括代码示例、知识点汇总以及Xmind思维导图,旨在帮助学习者快速理解和掌握这一关键概念。 1. **类与对象** - **类**:类是创建对象的模板,定义了一组属性(数据成员...

    面向对象编程基础知识

    ### 面向对象编程基础知识 #### 面向对象编程概述 面向对象编程(Object-Oriented Programming,简称 OOP)是一种软件开发方法论,它通过将数据和操作数据的方法绑定在一起,即将抽象的数据类型定义为类(class)...

    php面向对象手册

    ### PHP面向对象手册知识点解析 #### 一、面向对象编程简介 面向对象编程(Object-Oriented Programming,简称 OOP)是一种程序设计范式,它将数据和处理数据的方法捆绑在一起形成“对象”。OOP 的核心思想是通过...

    php面向对象

    ### PHP面向对象基础知识点 #### 一、类与对象的概念 在PHP中,面向对象编程是一种编程范式,它将程序中的数据以及操作这些数据的方法组织在一起形成一个整体——类。类是创建对象的模板,它定义了一组相似的对象...

    深入PHP面向对象模式与实践第2版

    《深入PHP面向对象模式与实践第2版》是一本专注于PHP面向对象编程的书籍,它不仅涉及到面向对象编程的基础知识,还深入讲解了面向对象设计模式以及如何在实际项目中应用这些模式。该书是对PHP开发者掌握面向对象技术...

    深入PHP面向对象、模式与实践_第3版_高清PDF(附完整源码)

    在这种背景下,《深入PHP面向对象、模式与实践》第三版应运而生,成为了PHP开发者提升自身技能、深入理解和实践面向对象编程、设计模式以及软件开发最佳实践的重要参考书籍。 本书以PHP面向对象编程的基础概念为...

    实验PHP面向对象

    在进行PHP面向对象实验的过程中,首先需要掌握的核心概念是面向对象设计思想,这是理解面向对象编程(OOP)的基础。面向对象思想主要涉及对象、类、继承、封装和多态等概念,是通过类来实现的。类可以被看作是创建...

    php面向对象系列(完整)

    1. **PHP面向对象编程基础**: - 类(Class):PHP 5引入了完整的面向对象编程支持,类是创建对象的蓝图,定义了对象的状态(属性)和行为(方法)。 - 对象(Object):类的实例,具有类定义的属性和方法。 - ...

    PHP面向对象编程PDF

    ### PHP面向对象编程知识点概述 #### 一、PHP的发展历程与未来展望 - **起源与发展**:本书首先回顾了PHP的起源,从最初的个人主页工具(PHP2)发展至如今功能强大的服务器端脚本语言。 - **未来展望**:书中还对...

    php面向对象全攻略 (一) 面向对象基础知识

    1.面向对象的概念 面向对象编程(Object Oriented Programming,OOP,面向对象程序设计)是一种计算机编程架构,OOP 的一条基本原则是计算机程序是由单个能够起到子程序作用的单元或对象组合而成,OOP 达到了软件...

    php面向对象(类)教程

    本文将基于"php面向对象(类)教程"这一主题,深入探讨PHP中的面向对象编程(Object-Oriented Programming, OOP)概念,帮助初学者理解和掌握这一核心技能。 面向对象编程是一种编程范式,它通过类和对象来组织代码...

    面向对象设计 1 —— PHP5面向对象基础(基础部分)

    这篇博客“面向对象设计 1 —— PHP5面向对象基础(基础部分)”可能详细讲解了PHP5中面向对象的基础知识,包括类、对象、封装、继承和多态等核心概念。 1. 类与对象 在PHP5中,类是创建对象的模板,它定义了一组属性...

    深入PHP:面向对象、模式与实践(第三版)高清PDF和完整源码.zip

    总的来说,《深入PHP:面向对象、模式与实践》第三版是一本全面而深入的教程,适合有一定PHP基础并希望深入学习面向对象编程和设计模式的开发者。通过阅读这本书,不仅可以掌握理论知识,还可以通过提供的完整源码...

    深入PHP:面向对象、模式与实践(第三版)高清PDF和完整源码下载.rar

    总结来说,《深入PHP:面向对象、模式与实践》是一本全面而深入的PHP学习资料,适合有一定基础的PHP开发者提升自己的技能,也适合想要深入理解面向对象编程和设计模式的程序员。配合高清PDF和源码,读者可以在阅读的...

    PHP5面向对象开发教程第一章-PHP5面向对象基础

    在本教程中,我们将深入探讨PHP5中的面向对象编程(OOP)基础知识。面向对象编程是一种编程范式,它基于“对象”的概念,允许我们创建更复杂、可维护且易于扩展的代码。PHP5引入了全面的面向对象支持,使得这种编程...

    投票系统(面向过程与面向对象)PHP

    通过实践这样的项目,学习者可以深入理解PHP的基础知识,同时掌握如何利用面向过程和面向对象的编程思想来解决实际问题,如数据处理、用户交互和结果统计。 【标签】:“投票系统(面向过程与面向对象)PHP”这个...

    深入PHP面向对象_模式与实践(第2版)中文完整版

    《深入PHP面向对象_模式与实践(第2版)》是一本非常实用且内容丰富的书籍,它不仅涵盖了PHP面向对象编程的基础知识,还深入讨论了设计模式的应用。对于希望提升PHP开发技能的开发者来说,这本书无疑是不可多得的学习...

    一个php面向对象数据库操作类库

    本篇将详细讲解一个PHP面向对象的数据库操作类库及其核心知识点。 首先,面向对象的数据库操作类库通常包含以下组件: 1. **构造函数**:类的初始化方法,用于设置数据库连接参数,如主机名、用户名、密码和数据库...

    面向对象设计 2 —— PHP5面向对象基础(实例部分)

    这篇博客“面向对象设计 2 —— PHP5面向对象基础(实例部分)”可能详细讲解了如何在PHP5中应用面向对象编程的基本原理和实践。在本文中,我们将深入探讨这些关键知识点,并结合提供的文件名,推测其可能包含的具体...

Global site tag (gtag.js) - Google Analytics