广告
返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >php面向对象教程3
  • 541
分享到

php面向对象教程3

面向对象教程php 2023-01-31 01:01:35 541人浏览 泡泡鱼
摘要

5.如何实例化对象我们上面说过面向对象程序的单位就是对象,但对象又是通过类的实例化出来的,既然我们类会声明了,下一步就是实例化对象了。当定义好类后,我们使用new 关键字来生成一个对象。$对象名称= new 类名称();<?PHPcl

5.如何实例化对象
我们上面说过面向对象程序的单位就是对象,但对象又是通过类的实例化出来的,既然我们类
会声明了,下一步就是实例化对象了。
当定义好类后,我们使用new 关键字来生成一个对象。
$对象名称= new 类名称();
<?PHP
class Person
{
//下面是人的成员属性
var $name; //人的名字
var $sex; //人的性别
var $age; //人的年龄
//下面是人的成员方法
function say() //这个人可以说话的方法
{
echo "这个人在说话";
}f
unction run() //这个人可以走路的方法
{
echo "这个人在走路";
}
}
$p1=new Person();
$p2=new Person();
$p3=new Person();
?>
$p1=new Person();
这条代码就是通过类产生实例对象的过程,$p1 就是我们实例出来的对象名称,同理,$p2, $p3
也是我们实例出来的对象名称,一个类可以实例出多个对象,每个对象都是独立的,上面的代码相
当于实例出来3 个人来,每个人之间是没有联系的,只能说明他们都是人类,每个人都有自己的姓
名,性别和年龄的属性,每个人都有说话和走路的方法,只要是类里面体现出来的成员属性和成员
方法,实例化出来的对象里面就包含了这些属性和方法。
对像在php 里面和整型、浮点型一样,也是一种数据类,都是存储不同类型数据用的,在运行
的时候都要加载到内存中去用, 那么对象在内存里面是怎么体现的呢?内存从逻辑上说大体上是
分为4 段,栈空间段、堆空间段、代码段、初始化静态段,程序里面不同的声明放在不同的内存段
里面,栈空间段是存储占用相同空间长度并且占用空间小的数据类型的地方,比如说整型1,10,
100,1000,10000,100000 等等,在内存里面占用空间是等长的,都是64 位4 个字节。那么数据
长度不定长,而且占有空间很大的数据类型的数据放在那内存的那个段里面呢?这样的数据是放在
堆内存里面的。栈内存是可以直接存取的,而堆内存是不可以直接存取的内存。对于我们的对象来
数就是一种大的数据类型而且是占用空间不定长的类型,所以说对象是放在堆里面的,但对象名称
是放在栈里面的,这样通过对象名称就可以使用对象了。
$p1=new Person();
对于这个条代码, $p1 是对象名称在栈内存里面,new Person()是真正的对象是在堆内存里面
的,具体的请看下图:
从上图可以看出$p1=new Person();等号右边是真正的对象实例,在堆内存里面的实体,上图一
共有3 次new Person(),所以会在堆里面开辟3 个空间,产生3 个实例对象,每个对象之间都是相
互独立的,使用自己的空间,在PHP 里面,只要有一个new 这个关键字出现就会实例化出来一个对
象,在堆里面开辟一块自己的空间。
每个在堆里面的实例对象是存储属性的,比如说,现在堆里面的实例对象里面都存有姓名、性
别和年龄。每个属性又都有一个地址。
$p1=new Person();等号的右边$p1 是一个引用变量,通过赋值运算符“=”把对象的首地址赋
给“$p1”这个引用变量,所以$p1 是存储对象首地址的变量,$p1 放在栈内存里边,$p1 相当于一
个指针指向堆里面的对象,所以我们可以通过$p1 这个引用变量来操作对象,通常我们也称对象引用
为对象。
6.如何去使用对象中的成员
上面看到PHP 对象中的成员有两种一种是成员属性,一种是成员方法。对象我们以经可以声明
了,$p1=new Person();怎么去使用对象的成员呢?要想访问对象中的成员就要使用一个特殊的操
作符“->”来完成对象成员的访问:
对象->属性$p1->name; $p2->age; $p3->sex;
对象->方法$p1->say(); $p2->run();
如下面实例:
<?php
class Person
{
//下面是人的成员属性
var $name; //人的名字
var $sex; //人的性别
var $age; //人的年龄
//下面是人的成员方法
function say() //这个人可以说话的方法
{
echo "这个人在说话";
}f
unction run() //这个人可以走路的方法
{
echo "这个人在走路";
}
}
$p1=new Person(); //创建实例对象$p1
$p2=new Person(); //创建实例对象$p2
$p3=new Person(); //创建实例对象$p3
//下面三行是给$p1对象属性赋值
$p1->name=”张三”;
$p1->sex=”男”;
$p1->age=20;
//下面三行是访问$p1对象的属性
echo “p1对象的名字是:”.$p1->name.”<br>”;
echo “p1对象的性别是:”.$p1->sex.”<br>”;
echo “p1对象的年龄是:”.$p1->age.”<br>”;
//下面两行访问$p1对象中的方法
$p1->say();
$p1->run();
//下面三行是给$p2对象属性赋值
$p2->name=”李四”;
$p2->sex=”女”;
$p2->age=30;
//下面三行是访问$p2对象的属性
echo “p2对象的名字是:”.$p2->name.”<br>”;
echo “p2对象的性别是:”.$p2->sex.”<br>”;
echo “p2对象的年龄是:”.$p2->age.”<br>”;
//下面两行访问$p2对象中的方法
$p2->say();
$p2->run();
//下面三行是给$p3对象属性赋值
$p3->name=”王五”;
$p3->sex=”男”;
$p3->age=40;
//下面三行是访问$p3对象的属性
echo “p3对象的名字是:”.$p3->name.”<br>”;
echo “p3对象的性别是:”.$p3->sex.”<br>”;
LAMP 大讲堂PHP 面向对象技术(全面讲解)
echo “p3对象的年龄是:”.$p3->age.”<br>”;
//下面两行访问$p3对象中的方法
$p3->say();
$p3->run();
?>
从上例中可以看出只是对象里面的成员就要使用对象->属性、对象->方法形式访问,再没有第
二种方法来访问对象中的成员了

--结束END--

本文标题: php面向对象教程3

本文链接: https://www.lsjlt.com/news/183705.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • php面向对象教程3
    5.如何实例化对象我们上面说过面向对象程序的单位就是对象,但对象又是通过类的实例化出来的,既然我们类会声明了,下一步就是实例化对象了。当定义好类后,我们使用new 关键字来生成一个对象。$对象名称= new 类名称();<phpcla...
    99+
    2023-01-31
    面向对象 教程 php
  • javascript面向对象3
    函数 创建函数: function f(x){…..}; var f = function(x){…}; 上面两种形式都可以创建名为f()的函数,不过后一种形式可以创建匿名函数。        函数定义时可以设置参数。如果传给函数的参数个数...
    99+
    2023-01-31
    面向对象 javascript
  • #3 Python面向对象(二)
    前言 上一节主要记录面向对象编程的思想以及Python类的简单创建,这节继续深入类中变量的相关知识,Here we go! Python中类的各种变量 1.1 类变量 类变量定义:在类中,在函数体(方法)外的变量称为类变量。类变量在整个类...
    99+
    2023-01-30
    面向对象 Python
  • PHP面向对象02:面向对象高级
    PHP面向对象02:面向对象高级 一、设计模式1. 单例模式2. 工厂模式 二、面向对象三大特性1. 封装2. 继承3. 多态 三、继承1. 实现继承2. 有限继承a. 属性都能继承b...
    99+
    2023-09-01
    php 单例模式 开发语言
  • Scala 学习之面向对象(3)
    ==> 类        ---> 类的定义class Student{     // 定义属性     private var stuName:String = "Tom"     private vat stuAge:Int...
    99+
    2023-01-31
    面向对象 Scala
  • Python 3 学习笔记:面向对象编程
    概述 面向对象编程(Object Oriented Programming,即 OOP),是一种程序设计思想,比面向过程编程更加灵活,更易扩展。 Python 在设计的时候就是按照面向对象编程的思想设计的,像我们前面学过的各种数据类型,如字...
    99+
    2023-01-31
    面向对象 学习笔记 Python
  • 【PHP】PHP的面向对象编程
    PHP面向对象编程是PHP编程的一个重要方向,它通过将数据和操作封装在对象中,使得代码更加模块化、可重用性和易于维护。本文将介绍PHP面向对象编程的基本概念、核心思想和常见应用,并探讨使用PHP面向对...
    99+
    2023-09-08
    php android 开发语言
  • PHP面向对象编程怎么对对象进行封装
    这篇文章主要讲解了“PHP面向对象编程怎么对对象进行封装”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“PHP面向对象编程怎么对对象进行封装”吧!我们今天为大家介绍的是关于PHP面向对象编程的...
    99+
    2023-06-17
  • Java SE 面向对象编程的3个常用接口
    1.Comparable 前言,想要排序Student.有代码: import java.util.Arrays;   class Student {     public int ...
    99+
    2022-11-12
  • PHP实验3 PHP面向对象编程:实现用户注册用户登录
    1.实验学时 2学时 2.实验目的 1、掌握 PHP 函数自定义方法; 2、掌握 PHP 程序的数据输入方法; 3、掌握 PHP Web 中的重定向方法; 4、熟练应用php的选择、循环结构; 5、掌握面向对象编程语法 3.实验设备    ...
    99+
    2023-09-03
    php eclipse java html5
  • Java面向对象基础教学(三)
    目录1.包是什么:2.Java面向对象程序设计三大重要特征:(1)封装:(2)继承extends:(3)多态3.instanceof 运算符 总结1.包是什么: 包相当于文...
    99+
    2022-11-12
  • Java面向对象基础教学(一)
    目录1.如何定义类2.如何定义属性3.如何定义普通方法4.如何创建对象5.如何定义构造方法6.什么是可变参数,怎么用?总结1.如何定义类 语法: 访问修饰符 class 类名...
    99+
    2022-11-12
  • Java面向对象基础教学(二)
    目录1.使用访问修饰符: 2.static关键字:3.this关键字 总结1.使用访问修饰符:  ...
    99+
    2022-11-12
  • python 面向对象编程
    文章目录 前言如何理解面向对象编程在 python 中如何使用面向对象编程定义类创建对象self添加和获取对象属性添加属性类外添加属性类中添加属性 访问属性类外访问属性类中访问属性 ...
    99+
    2023-08-31
    python 开发语言
  • PLSQL面向对象编程
    面向对象编程简称OOP编程,实际上是对现实世界事物的一种抽象的过程。它的核心是把对象的定义和实现进行区分,让定义部分对象所具有的结构,让实现部分根据定义部分定义的具体结构进行具体的实现。用于生产玩具的模具叫...
    99+
    2022-10-18
  • Python面向对象编程
      面向对象最重要的概念就是类(Class)和实例(Instance),Java比较熟了,下面贴代码注释   class Student(object): def __init__(self, name, score): ...
    99+
    2023-01-30
    面向对象 Python
  • python_面向对象编程
    初始面向对象 一、类的实例化: 调用类产生对象的过程称为类的实例化, 实例化的结果是一个对象,或称为一个实例 class People: def __init__(self, name, age, sex)...
    99+
    2023-01-30
    面向对象
  • Python-面向对象编程
    面向对象最重要的概念就是类(Class)和实例(Instance),类是抽象的模板,比如人类、动物类,而实例是根据类创建出来的一个个具体的“对象”,每个对象都拥有相同的方法,但各自的数据可能不同。 以人类为例,创建一个实例为 xiaomi...
    99+
    2023-01-31
    面向对象 Python
  • php面向对象程序设计介绍
    目录类与对象访问控制继承多态PHP是一种面向对象的编程语言,它允许开发者使用面向对象的编程技术来构建复杂的应用程序。下面是一些关于PHP面向对象编程的讲解: 类与对象 类是一种用于定...
    99+
    2023-05-14
    php面向对象程序设计 php面向对象编程 php面向对象
  • 面向对象
    面向对象 特性 class  object 封装、继承、多态 语法:属性、方法 构造函数(在实例化时做一些类的初始化的工作 该函数是用于传参数) 析构函数(在实例释放、销毁的时候自动执行的、通常用于一些收尾工作,如:关闭一些数据库链接,关...
    99+
    2023-01-30
    面向对象
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作