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

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

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

相关推荐
Kisorge7 分钟前
【C语言】指针数组、数组指针、函数指针、指针函数、函数指针数组、回调函数
c语言·开发语言
轻口味1 小时前
命名空间与模块化概述
开发语言·前端·javascript
C4rpeDime2 小时前
自建MD5解密平台-续
android
晓纪同学2 小时前
QT-简单视觉框架代码
开发语言·qt
威桑2 小时前
Qt SizePolicy详解:minimum 与 minimumExpanding 的区别
开发语言·qt·扩张策略
飞飞-躺着更舒服2 小时前
【QT】实现电子飞行显示器(简易版)
开发语言·qt
明月看潮生2 小时前
青少年编程与数学 02-004 Go语言Web编程 16课题、并发编程
开发语言·青少年编程·并发编程·编程与数学·goweb
明月看潮生2 小时前
青少年编程与数学 02-004 Go语言Web编程 17课题、静态文件
开发语言·青少年编程·编程与数学·goweb
Java Fans2 小时前
C# 中串口读取问题及解决方案
开发语言·c#
盛派网络小助手3 小时前
微信 SDK 更新 Sample,NCF 文档和模板更新,更多更新日志,欢迎解锁
开发语言·人工智能·后端·架构·c#