信息发布→ 登录 注册 退出

PHP面向对象基础入门教程_PHP类与对象创建实例说明

发布时间:2025-12-16

点击量:
PHP面向对象编程核心是类与对象,类为模板、对象为实例;用class定义类,含属性和方法,构造方法__construct自动执行;new创建对象,->访问成员,$this指当前对象;public/protected/private控制访问;static声明静态成员,用self::或类名::调用。

php面向对象基础入门教程_php类与对象创建实例说明

PHP面向对象编程(OOP)的核心是类(class)对象(object)。类是模板,对象是根据这个模板创建出来的具体实例。

如何定义一个PHP类

class关键字声明类,类名首字母通常大写,内部可包含属性(变量)和方法(函数):

  • 属性定义用publicprivateprotected修饰,最常用的是public
  • 方法就是写在类里的函数,也可以加访问修饰符
  • 构造方法名为__construct(),在创建对象时自动执行

示例:

Ghostwriter Ghostwriter

Replit推出的AI编程助手,一个强大的IDE,编译器和解释器。

Ghostwriter 238 查看详情 Ghostwriter
class Car {
    public $brand = 'Unknown';
    public $color = 'White';

    public function __construct($brand, $color) {
        $this->brand = $brand;
        $this->color = $color;
    }

    public function info() {
        return "这是一辆{$this->color}的{$this->brand}车。";
    }
}

如何创建并使用对象

new关键字根据类生成对象,之后通过->访问属性和方法:

立即学习“PHP免费学习笔记(深入)”;

  • 每个对象都是独立的,修改一个对象的属性不影响其他对象
  • $this在类内部代表当前对象本身,用于访问本对象的属性和方法
  • 对象赋值是“引用传递”,即多个变量指向同一个对象,除非用clone

示例:

$car1 = new Car('Toyota', 'Red');
$car2 = new Car('BMW', 'Black');

echo $car1->info(); // 输出:这是一辆Red的Toyota车。
echo $car2->info(); // 输出:这是一辆Black的BMW车。

理解封装与访问控制

访问修饰符决定了属性和方法能否被外部直接调用:

  • public:任何地方都能访问(默认)
  • private:仅本类内部可用,子类和外部都不可见
  • protected:本类和子类可用,外部不可访问

比如把$brand设为private后,就不能再写$car1->brand = 'Honda',必须提供publicsetBrand()方法来修改。

静态成员与self关键字

static声明的属性或方法属于类本身,不依赖对象实例:

  • 静态属性用self::$propertyName访问,静态方法用self::methodName()
  • 调用静态方法不用创建对象,直接用ClassName::method()
  • 静态方法中不能用$this,因为它不属于某个具体对象

示例:

class Counter {
    public static $count = 0;

    public static function increment() {
        self::$count++;
    }
}

Counter::increment();
echo Counter::$count; // 输出:1

基本上就这些。掌握类的定义、对象的创建、访问控制和静态成员,就搭起了PHP面向对象的主干。不复杂但容易忽略细节,多写几遍自然就熟了。

以上就是PHP面向对象基础入门教程_PHP类与对象创建实例说明的详细内容,更多请关注php中文网其它相关文章!


相关文章: WooCommerce后台产品编辑页:获取分类ID并实现角色权限控制  蛙漫移动版在线看 蛙漫手机浏览器直达入口  CSS实现侧边栏导航项全宽圆角悬停背景效果  Golang如何使用buffered channel提高性能_Golang buffered channel优化技巧  Android Studio计算器C键功能异常排查与修复教程  php源码怎么在电脑上测试_电脑测试php源码方法步骤【教程】  谷歌浏览器浏览体验优化_谷歌浏览器新版直连永久可用提示  妖精动漫免费平台 妖精动漫官网资源观看网址  俄罗斯Yandex搜索引擎入口_Yandex官网免登录一键访问  Win11输入法不见了怎么办_Windows11恢复语言栏显示方法  在Socket.IO连接中实现Access Token自动更新与动态重连  J*aScript数组对象转换:按指定键分组与值收集  J*a TimerTask中HashMap意外清空的深层原因与解决方案  在python-socketio事件处理器中安全访问Flask应用上下文  微信商城在哪里打开【步骤】  AO3官方可用镜像 Archive of Our Own网页版最新入口  css子元素高度不一致导致布局错位怎么办_使用align-items:stretch解决高度差异  C++ map遍历方法大全_C++ map迭代器使用总结  TypeScript/J*aScript:高效查找数组中首个唯一ID对象  AO3访问入口汇总 AO3网页版同人作品一键直达  网易大神怎么保存别人动态的图片_网易大神动态图片保存方法  Django模型中自动计算可用余额的实现方法  lar*el怎么安全地存储和获取配置文件中的敏感信息_lar*el敏感信息安全存储方法  J*aScript DOM操作:高效清空列表元素的策略与实践  PHP实现即时文章发布与单次数据库写入:自提交模式教程  在WordPress中通过REST API获取BasicAuth保护的远程文章  深入理解J*aScript Promise异步执行与微任务队列  J*a应用集成GitHub CLI与API认证指南  Win10如何清理注册表垃圾 Win10手动清理无效注册表【技巧】  怎么在mac上运行html代码_mac运行html代码方法【指南】  Win11怎么关闭快速启动_Win11彻底关机设置教程  百度网盘网页版入口 百度网盘网页版官方登录网址  千牛数据看板网页版_千牛数据看板网页版访问方法  C++如何解决segmentation fault_C++段错误调试与原因分析  小红书商家版怎样在笔记嵌入商品卡路径_小红书商家版在笔记嵌入商品卡路径【挂载教程】  斑马英语APP如何开启夜间护眼阅读_斑马英语APP夜间模式与低蓝光设置教程  拼多多视频播放卡顿如何处理 拼多多视频播放优化技巧  Lar*el Form Request 中唯一性验证更新操作的正确实践  sublime怎么设置启动时打开的窗口_sublime会话管理与热退出  在React函数组件中利用原生HTML5进行邮箱地址验证  包子漫画官方网站在线链接-包子漫画在线阅读平台主页地址  离线运行Go语言之旅:本地部署与GOPATH配置指南  C++的std::mdspan是什么_C++23中用于操作多维数组的非拥有视图  Go语言中构建可靠数据存储的原子性与持久化策略  Google翻译怎么语音输入_Google翻译语音输入功能使用与设置方法  Windows10怎么开启夜间模式 Windows10系统设置调整色温与亮度缓解夜间用眼疲劳【教程】  Lar*el DB::listen 事件中的查询执行时间单位解析  Node.js CSV 数据处理:基于字段空值条件过滤整条记录的策略  PHP中SSG-WSG API的AES加密实践:正确使用初始化向量  印象笔记如何设提醒任务防漏执行_印象笔记设提醒任务防漏执行【任务提醒】 

在线客服
服务热线

服务热线

4008988990

微信咨询
二维码
返回顶部
×二维码

截屏,微信识别二维码

打开微信

微信号已复制,请打开微信添加咨询详情!