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

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

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

相关推荐
fakaifa28 分钟前
点大餐饮独立版系统源码v1.0.3+uniapp前端+搭建教程
小程序·uni-app·php·源码下载·点大餐饮·扫码点单
武当豆豆1 小时前
C++编程学习(第25天)
开发语言·c++·学习
-Xie-2 小时前
Maven(二)
java·开发语言·maven
mftang2 小时前
Python可视化工具-Bokeh:动态显示数据
开发语言·python
whysqwhw2 小时前
安卓图片性能优化技巧
android
m0_480502643 小时前
Rust 入门 生命周期-next2 (十九)
开发语言·后端·rust
IT利刃出鞘3 小时前
Java线程的6种状态和JVM状态打印
java·开发语言·jvm
风往哪边走3 小时前
自定义底部筛选弹框
android
Yyyy4823 小时前
MyCAT基础概念
android