php面向对象编程入门

1.发展与解释:

汇编:面向机器

C语言:面向过程

java:面向对象

php:支持面向对象

其实类也是一种数据类型

a.类是抽象的,代表一类事物

b.对象是具体的,是类的一个具体实例

c.类是对象的模板,对象是类的一个个体实例

2.简单入门案例:

<?php
class Cat
{
public
$name;
public
$age;
public
$color;
}
$cat1=new
Cat();
//对类进行实例化/创建一个对象/实例化对象 三者说法同种意思
$cat1->name="小白";
$cat1->age=10;
$cat1->color="red";
$FindCat="小白";
if($cat1->name==$FindCat)
{
ECHO $FindCat."存在";
}
 
?>

3.用法


a.成员属性的说明:

成员属性是从某个事物中提取出来,可以是基本数据类型(整数,小数,字符,布尔),也可以是复合数据类型(数组,对象)

Class 类名{

成员属性;

}

b.创建对象:

$对象名=new 类名();

or

$对象名=new 类名;

c.访问对象属性

$对象名->属性名;

d.class命名规范

如果一个文件专门用于定义类的,没有类的操作,其命名规范:

类名.class.php

 

Class 类名

{

 

}

4.从内存详细解释

内存图

堆区:对象,一般存较小的的

栈区:基本数据类,一般是较大的

案例1:

<?php
class Cat
{
public
$name;
public
$age;
public
$color;
}
$c=90;
$cat1=new
Cat();
$cat1->name="小白";
$cat1->age=10;
$cat1->color="red";
$cat2=$cat1
 
?>

内存图如下:

案例2:

<?php
$a=9;
$b=$a;
$b=$b+8;
Echo
$a." ".$b;
?>

内存图如下:

案例3:

<?php
$a=9;
$b=&$a;
$b=$b+8;
Echo
$a." ".$b;
?>

内存图如下:

案例4:

<?php
Class
Person
{
 public $name;
Public
$age;
}
$p1=new
Person();
$p1->name="小明";
$p1->age=10;
 
Function
test1($p)
{
$p->name="小花";
}
 
Test1($p1);
Echo
$p1->name;
?>

a.函数接收对象时候,究竟接收的是值,还是地址?

b.如果是基本数据类型?在默认情况下,传递的是值,如果希望传入地址:

Function
test(&$变量名)

{

}

在php中,如果给一个函数传递的是数组,则默认情况下是传值(拷贝了新的数组),如果如果希望传入地址:

Function
test(&$array)

{

}

问题?

<?php
$arr=array($a1,$a2);
$a1=array(1,2,3);
$a2=array(4,5,6,7);
foreach
($arr as $k=>$v)
{
echo
"$k=$v";
}
var_dump($arr);
?>

…………………………………………………..区别

<?php
$a1=array(1,2,3);
$a2=array(4,5,6,7);
$arr=array($a1,$a2);
foreach ($arr as $k=>$v)
{
echo "$k=$v";
}
var_dump($arr);
?>

错误

时间: 2024-11-19 04:36:03

php面向对象编程入门的相关文章

JavaScript面向对象编程入门

来源极客网 1 function Person() { 2 var _this = {} //创建一个空的对象,接着我们利用这个"空的对象"承载Person的属性和方法 3 _this.sayHello = function(){ 4 alert("PHello"); 5 } 6 return _this; 7 } 8 9 function Teacher_1() { 10 var _this = Person();//注意这里的语法小括号 11 return _t

python面向对象编程入门

一.定义一个只包含一个成员变量a.一个构造函数.一个get.一个set函数的类 ? 1 2 3 class ClassA(object):     def __init__(self):         self._a = 0<br> def get_a(self):<br> return self._a<br> def set_a(self, value):<br> self._a = value 可以看到

PHP面向对象(OOP)编程入门教程

面向对象编程(OOP)是我们编程的一项基本技能,PHP5对OOP提供了良好的支持.如何使用OOP的思想来进行PHP的高级编程,对于提高 PHP编程能力和规划好Web开发构架都是非常有意义的.下面我们就通过实例来说明使用PHP的OOP进行编程的实际意义和应用方法. 我们通常在做一个有数据库后台的网站的时候,都会考虑到程序需要适用于不同的应用环境.和其他编程语言有所不同的是,在PHP中,操作数据库的 是一系列的具体功能函数(如果你不使用ODBC接口的话).这样做虽然效率很高,但是封装却不够.如果有一

【PHP面向对象(OOP)编程入门教程】1.什么是面向对象?

面向对象编程(Object Oriented Programming, OOP, 面向对象程序设计)是一种计算机编程架构,OOP的一条基本原则是计算机程序是由单个能够起到子程序作用的单元或对象组合而成,OOP达到了软件工程的三 个目标:重用性.灵活性和扩展性.为了实现整体运算,每个对象都能够接收信息.处理数据和向其它对象发送信息.面向对象一直是软件开发领域内比较热门的话 题,首先,面向对象符合人类看待事物的一般规律.其次,采用面向对象方法可以使系统各部分各司其职.各尽所能.为编程人员敞开了一扇大

PHP面向对象(OOP)编程入门教程链接

PHP官方学习OOP: http://php.net/manual/zh/oop5.intro.php 以下链接来源: http://blog.snsgou.com/post-41.html PHP面向对象(OOP)编程完全教程:1.什么是面向对象? PHP面向对象(OOP)编程完全教程:2.什么是类,什么是对象,类和对象这间的关系 PHP面向对象(OOP)编程完全教程:3.什么是面向对象编程呢? PHP面向对象(OOP)编程完全教程:4.如何抽象出一个类? PHP面向对象(OOP)编程完全教程

PHP面向对象编程快速入门

面向对象编程(OOP)是我们编程的一项基本技能,PHP4对OOP提供了良好的支持.如何使用OOP的思想来进行PHP的高级编程,对于提高PHP编程能力和规划好Web开发构架都是非常有意义的.下面我们就通过实例来说明使用PHP的OOP进行编程的实际意义和应用方法.  我们通常在做一个有数据库后台的网站的时候,都会考虑到程序需要适用于不同的应用环境.和其他编程语言有 所不同的是,在PHP中,操作数据库的是一系列的具体功能函数(如果你不使用ODBC接口的话).这样做虽然效率很高,但是封装却不够.如果有一

(一)Python入门-6面向对象编程:07面向对象三大特征(封装、继承、多态)-继承

一:面向对象三大特征介绍 Python是面向对象的语言,也支持面向对象编程的三大特性:继承.封装(隐藏).多态. 封装(隐藏) 隐藏对象的属性和实现细节,只对外提供必要的方法.相当于将“细节封装起来”,只 对外暴露“相关调用方法”. 通过前面学习的“私有属性.私有方法”的方式,实现“封装”.Python 追求简洁的语法,没有严格的语法级别的“访问控制符”,更多的是依靠程序员自觉实现. 继承 继承可以让子类具有父类的特性,提高了代码的重用性. 从设计上是一种增量进化,原有父类设计不变的情况下,可以

(一)Python入门-6面向对象编程:01面向对象和面向过程区别-对象的进化

面向对象: 面向对象(Object oriented Programming,OOP)编程的思想主要是针对大型 软件设计而来的.面向对象编程使程序的扩展性更强.可读性更好,使的编程可以像搭 积木一样简单. 面向对象编程将数据和操作数据相关的方法封装到对象中,组织代码和数据的方式 更加接近人的思维,从而大大提高了编程的效率. Python完全采用了面向对象的思想,是真正面向对象的编程语言,完全支持面向 对象的基本功能,例如:继承.多态.封装等. Python中,一切皆对象.我们在前面学习的数据类型

《鸡啄米C++编程入门系列》系列技术文章整理收藏

<鸡啄米C++编程入门系列>系列技术文章整理收藏 收藏整理鸡啄米C++编程入门系列文章,供个人和网友学习C++时参考 1鸡啄米:C++编程入门系列之前言 2鸡啄米:C++编程入门系列之一(进制数) 3鸡啄米:C++编程入门系列之二(原码.反码与补码) 4鸡啄米:C++编程入门系列之三(VS2010的使用介绍) 5鸡啄米:C++编程入门系列之四(数据类型) 6鸡啄米:C++编程入门系列之五(运算符和表达式) 7鸡啄米:C++编程入门系列之六(算法的基本控制结构之选择结构) 8鸡啄米:C++编程入