php面向对象的定义介绍

  PHP面向对象OOP(Object Oriented Programming),是一种计算机编程架构。

  首先,我们要理解的是PHP面向对象中的的类class,对象以及构造函数与析构函数。

1.类class

class Student{
    //1.成员属性
    /*
     * <1>.public关键字表示声明的变量是共用的,任何地方都能访问到*/
    public $name = "zhangsan",$score,$num;
    //构造函数传参
    public function __construct($name,$score,$num)
    {
        $this->name = $name;
        $this->score = $score;
        $this->num = $num;
    }
    //析构函数
    public  function __destruct()
    {
        echo "函数死了";
        // TODO: Implement __destruct() method.
    }
    //2.成员方法
    //当前学生会唱歌
    public function sing($songname){
        return"会唱{$songname}歌";
    }
    //当前学生会跑步
    public function run(){
        return"学生会跑步";
    }
    //介绍自己
    public function showSelf(){
      echo "我叫{$this->name},学号是{$this->num},我考了{$this->score}分,我{$this->sing("小星星")}";
    }
}

2.对象,是通过类class实例化new关键字出来的,他可以使用类里面的属性和方法,如下

//实例化对象
$studeng1 = new  Student("王五",95,1001);

//对象访问成员属性
$studeng1->name="lisi";

//对象访问成员方法
$studeng1->sing("小星星");
$studeng2->showSelf();

类是一个范围,对象是类里面的一个个体。

  

时间: 2024-10-14 04:58:01

php面向对象的定义介绍的相关文章

C++ Primer 学习笔记_66_面向对象编程 --定义基类和派生类[续]

算法旨在用尽可能简单的思路解决问题,理解算法也应该是一个越看越简单的过程,当你看到算法里的一串概念,或者一大坨代码,第一感觉是复杂,此时不妨从例子入手,通过一个简单的例子,并编程实现,这个过程其实就可以理解清楚算法里的最重要的思想,之后扩展,对算法的引理或者更复杂的情况,对算法进行改进.最后,再考虑时间和空间复杂度的问题. 了解这个算法是源于在Network Alignment问题中,图论算法用得比较多,而对于alignment,特别是pairwise alignment, 又经常遇到maxim

C++ Primer 学习笔记_66_面向对象编程 -定义基类跟派生类[续]

面向对象编程 --定义基类和派生类[续] 四.virtual与其他成员函数 C++中的函数调用默认不使用动态绑定.要触发动态绑定,必须满足两个条件: 1)只有指定为虚函数的成员函数才能进行动态绑定,成员函数默认为非虚函数,非虚函数不进行动态绑定. 2)必须通过基类类型的引用或指针进行函数调用. 1.从派生类到基类的转换 因为每个派生类对象都包含基类部分,所以可以将基类类型的引用绑定到派生类对象的基类部分可以用指向基类的指针指向派生类对象: void print_total(const Item_

结构化方法与面向对象方法的介绍与对比

结构化和面向对象,这两个概念在计算机领域的中应用十分广泛.在软件工程中,结构化和面向对象的思想也占有重要地位,产生了结构化方法和面向对象方法,用来指导软件生产. 一.结构化方法 结构是指系统内各个组成要素之间的相互联系.相互作用的框架.结构化方法强调开发方法的结构合理性以及所开发软件的结构合理性.针对软件生存周期各个不同阶段,可以分为结构化分析(SA).结构化设计(SD).结构化程序设计(SP)等方法. 1.1结构化分析方法 结构化分析方法是面向数据流的分析方法,是70年代由Yourdon.Co

面向对象基础-初步介绍

面向对象中的基础介绍: 一:在面向对象的方法中:一切事物皆对象,只要是对象就会分类别:只要是对象就会有属性. 二:面向对象的三个属性:封装.继承.多态: 封装含义:把一些功能的实现细节不对外暴露: 继承含义:一段代码,重复使用(代码重用): 多态含义:一种接口,多种实现(接口重用): 三:新式类与经典类的区别:多继承上的顺序问题, 查询策略: 广度优先:先查找横向策略再去查纵向(新式类的查询策略): 深度优先:顺序查询(经典类的查询策略): py2的经典类是按照深度优先来继承的,新式类是按广度优

面向对象的定义,及基础语法

一.什么是面向对象 面向对象编程思想 OOP 面向对象是一种编程思想,是前辈们总结出的经验,指导程序员如何编写出更好的程序 , 核心是对象,程序就是一系列对象的集合, 程序眼负责调度控制这些对象来交互着完成任务: 案例:1 把大象装进冰箱 ? ? 面向过程: ? 1.打开冰箱 ? 2.装入大象 ? 3.关闭冰箱 ? 面向对象: ? 找个具备装大象的技能的对象 在面向对象中程序员的角度发生改变,从具体的操作者变成了指挥者; 强调:对象不是凭空产生的,需要我们自己设计 案例: ? 西天取经 ? 如来

工程师的基本修养 — 面向对象六大原则介绍

首先简单说下面向对象.软件在机器中运行,用来解决实际问题,解决一个问题一定有先后顺序,只要把问题拆解开,然后一件一件的顺序完成,问题大都可以解决,这就是面向过程的编程. 但是对于更加复杂的模型,如果继续使用面向过程的编程,一些程序就会变得不容易控制了.为了更好解决问题,需要对这个世界进行抽象,把一个任务.一个程序拆分成更容易控制和理解的小块,小块间定义好使用原则等,然后在大块中,用逻辑把所有模块都运行起来,有相同特性的模块可以通过继承去更好的管理,还可以定义一些接口约束,让模块都具有同样的外观,

Fast Newman-FN算法以及模块度定义介绍

一.社区的定义 Newman第一次提出模块度定义就是在2004年发表的这篇文章"fast algorithm for community structure in networks",第一次用量化的公式来确定社区划分. 首先,我们来看Newman如何定义社区的:the vertices in networks are often found to cluster into tightly knit groups with a high density of within-group e

AMD异步模块定义介绍和Require.js中使用jQuery及jQuery插件的方法

AMD 模块 AMD(异步模块定义,Asynchronous Module Definition)格式总体的目标是为现在的开发者提供一个可用的模块化 JavaScript 的解决方案. AMD 模块格式本身是一个关于如何定义模块的提案,在这种定义下模块和依赖项都能够异步地进行加载.它有很多独特的优势,包括天生的异步及高度灵活等特性,这些特性能够解除常见的代码与模块标识间的那种紧密耦合.目前它已经被很多项目所接纳,包括jQuery(1.7). RequireJS RequireJS是一个工具库,主

2016/3/21 面向对象: ①定义类 ②实例化对象 ③$this关键字 ④构造函数 ⑤析构函数 ⑥封装 ⑦继承

一:定义类   二:实例化对象 1 //定义类 2 class Ren 3 { 4 var $name; 5 var $sex; 6 var $age; 7 8 function Say() 9 { 10 echo "{$this->name}在说话"; 11 } 12 } 13 //实例化对象 14 $Ren = new Ren(); 15 //调用对象的成员: 16 $Ren->name = "张三"; 17 $Ren->Say(); 显示结果