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代码结果如下:

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

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

相关推荐
ServBay12 分钟前
告别面条代码,PSL 5.0 重构 PHP 性能与安全天花板
后端·php
范特西林1 小时前
实战演练——从零实现一个高性能 Binder 服务
android
范特西林2 小时前
代码的生成:AIDL 编译器与 Parcel 的序列化艺术
android
范特西林2 小时前
深入内核:Binder 驱动的内存管理与事务调度
android
范特西林3 小时前
解剖麻雀:Binder 通信的整体架构全景图
android
范特西林3 小时前
破冰之旅:为什么 Android 选择了 Binder?
android
奔跑中的蜗牛6664 小时前
一次播放器架构升级:Android 直播间 ANR 下降 60%
android
测试工坊6 小时前
Android 视频播放卡顿检测——帧率之外的第二战场
android
Kapaseker8 小时前
一杯美式深入理解 data class
android·kotlin
鹏多多8 小时前
Flutter使用screenshot进行截屏和截长图以及分享保存的全流程指南
android·前端·flutter