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

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

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

相关推荐
hccee20 分钟前
C# IO文件操作
开发语言·c#
hummhumm25 分钟前
第 25 章 - Golang 项目结构
java·开发语言·前端·后端·python·elasticsearch·golang
J老熊35 分钟前
JavaFX:简介、使用场景、常见问题及对比其他框架分析
java·开发语言·后端·面试·系统架构·软件工程
zmd-zk1 小时前
flink学习(2)——wordcount案例
大数据·开发语言·学习·flink
好奇的菜鸟1 小时前
Go语言中的引用类型:指针与传递机制
开发语言·后端·golang
Alive~o.01 小时前
Go语言进阶&依赖管理
开发语言·后端·golang
花海少爷1 小时前
第十章 JavaScript的应用课后习题
开发语言·javascript·ecmascript
手握风云-1 小时前
数据结构(Java版)第二期:包装类和泛型
java·开发语言·数据结构
喵叔哟1 小时前
重构代码中引入外部方法和引入本地扩展的区别
java·开发语言·重构
尘浮生2 小时前
Java项目实战II基于微信小程序的电影院买票选座系统(开发文档+数据库+源码)
java·开发语言·数据库·微信小程序·小程序·maven·intellij-idea