php类与对象

前言

欢迎来到我的博客

个人主页:北岭敲键盘的荒漠猫-CSDN博客

本文主要整理php类与对象相关的知识点

适合有编程基础的人观看

因为我这个也是整理第n语言,这些老套的概念就不再多啰嗦了。

直接整理相应的语法

感觉把php当第一语言学的人不太多了

快速理解类与对象

例如:我属于人类,人类也属于动物类,动物又属于生物类。

类就是一个特征的集体,人类一定有动物的特征,动物一定有生物的特征。

对象

一个具体的对象。

比如说狗不是对象,他是一个类,我的狗叫旺财是对象,他是真正的一个个体。

在代码中实际的理解

直观来说,植物大战僵尸里的僵尸有很多种,他们的代码有很多重复的,函数之间关系很松散,所以使用类。写好僵尸会有血条,向前走的代码,然后游戏中直接实例化某个僵尸,他直接有这些特性就行了。(要是真的理解不了就那面向对象格式当函数用)

类与对象基础用法

语法实例:(直接写案例,跟着格式写就行)

php 复制代码
<?php
    //定义一个学生类
    class student {
        //定义属性
        public $age;
        public $score;

        //定义方法
        public function use_add(&$score){
            $this -> add_score();
        }
        public function add_score(){ //传值传参,传入自己的属性,进行加一操作
            $this -> score +=1;
            echo $this -> score . "\n";
        }
    }
    
    //实例化张三对象
    $zhangsan= new student();
    
    //赋予,调用属性
    $zhangsan->age=18;
    $zhangsan->score=10;
    //输出看看
    echo $zhangsan->age."\n";

    //调用方法
    $zhangsan->add_score($zhangsan->score);
    $zhangsan->use_add($zhangsan->score);
    
?>

用法总结:

类中新增->符号,用它就可以指代类中的相应的方法或者属性

$this是在类中指代自己,可以用他来从内部执行自己的方法(相当于python的self)

构造函数

对标python的__init__自动执行

语法:

php 复制代码
<?php
    class student{
        public function __construct($a){
            echo $a;
        }
    }

    $zhangsan=new student(12);
?>

实例化的时候自动执行相应代码,并且可以在实例化的时候传入参数。

类包含封装

当我们代码分文件编写,不在同一个文件中时,我们想调用类不可能每次都复制进对应文件夹中。

所以这时候需要包含。

我们把exper2中的类放到exper中使用。

exper2.php代码:

php 复制代码
<?php
    class zhangsan{
        public function show_name(){
            echo "我是张三";
        }
    }

    
    echo "引入成功"."\n";
?>

exper.php代码:

php 复制代码
<?php
    include("exper2.php");
    $man= new zhangsan();
    $man->show_name();
?>

运行exper.php代码结果如下:

直观的理解包含,就是把那个文件的代码放到这个地方来。

看到下面的打印引入成功也成功的执行了。

相关推荐
小小测试开发2 小时前
安装 Python 3.10+
开发语言·人工智能·python
故渊at3 小时前
系列三:组件化与模块化进阶 | 第11篇 组件化项目规范与问题根治:依赖、资源、Manifest 与混淆的全链路管控
android·架构·mvvm·模块化·组件化
故渊at4 小时前
系列二:MVVM 深度实战与项目重构 | 第7篇 LiveData & StateFlow 状态管理实战:从“粘包弹”到“丝滑流式”
android·重构
AAA大运重卡何师傅(专跑国道)4 小时前
【无标题】
开发语言·c#
是阿建吖!4 小时前
【Linux】信号
android·linux·c语言·c++
XBodhi.4 小时前
Visual Studio C++ 语法错误: 缺少“;”(在“return”的前面)
开发语言·c++·visual studio
LSssT.5 小时前
【01】Python 机器学习
开发语言·python
l1t5 小时前
DeepSeek总结的使用实体-组件-系统和基于存在性处理进行Python编程39-40
开发语言·python
曾阿伦5 小时前
Python 搭建简易HTTP服务
开发语言·python·http
YG亲测源码屋5 小时前
java配置环境变量、jdk环境变量配置、java环境变量设置方法
java·开发语言