<?php
header("content-type:text/html;charset=utf-8");
class Dome1{
public $name;
protected $age;
protected $wages;
public function __construct($name,$age,$wages)
{
$this->name = $name;
$this->age = $age;
$this->wages = $wages;
}
public function name(){
echo '我的姓名是:'.$this->name.'<br>';
}
public function age(){
echo '我的年龄:'.$this->age.'<br>';
}
public function wages(){
echo '我的工资:'.$this->wages.'<br>';
}
public function All(){
$this->name();
$this->age();
$this->wages();
}
}
$a = new Dome1('杨幂',31,50000);
$a->All();点击 "运行实例" 按钮查看在线实例
// 类的文件起名:
// 1,有描述意义,比如:***类 woman
// 2,用二级命名,比如:***类 woman.class.php, 二级命名是告诉程序员,不直接运行的文件。
// 一般一个文件,只保存一个类,所以不会类的文件里,调用本类。
// 都是在外部调用。新建个文件,调用这个类。include '类文件';
// include 'woman.class.php';
// 关键字 类外声明 声明类 声明属性 声明方法 解释
// const √ √ 定义类常量
// extends √ 扩展类,用一个类去扩展它的父类
// public √ √ 公用属性或方法
// protected √ √ 私有属性或方法
// private √ √ 受保护的属性或方法
// abstract √ √ 抽象类或方法
// final √ √ 类不能被继承
// ## 1.类属性与类方法(静态成员)
// * 类属性: 静态属性
// * 类方法: 静态方法
// * 静态成员属于类,而不属于对象
// * 静态成员不需要通过对象访问,所以不必实例化
// * 使用`static`关键字定义静态成员
// * 类外使用类名访问,类内使用`self`访问
// * 类外部, 类属性不能用实例访问,但类方法可以
class demo{
public $name;
public $age;
//静态变量
public static $cuntry = '中国<br>';
//静态方法
public static function getInfo(){
return 111;
}
}
$a = new demo();// 实例化后可以访问类里静态方法,不可访问静态变量
echo $a->getInfo();
echo demo::$cuntry; //静态变量访问方式
echo demo::getInfo();//静态方法访问方式点击 "运行实例" 按钮查看在线实例
class Demo1{
public $name;
public $age;
public static $country = '中国';
public function __construct($name,$age)
{
$this->name = $name;
$this->age = $age;
}
public function getInfo(){
// 这个方法可以用对象访问,方法中访问了静态属性,实现了类属性在对象中的共享
return '姓名是:'. $this->name .'<br>'.'年龄:'.$this->age.'<br>'.'国家:'.self::$country;
}
public static function getInfo1(){ //静态方法
// 静态变量,在类内,不能用$this->, 只能用self::
return '姓名是:'. $this->name .'<br>'.'年龄:'.$this->age.'<br>'.'国家:'.self::$country;
}
public static function getInfo2($name,$age){ //静态方法
return '姓名是:'.$name .'<br>'.'年龄:'.$age.'<br>'.'国家:'.self::$country;
}
}
$b = new Demo1('范冰冰',32);
echo $b->name.'<br>';
echo $b->age.'<br>';
//echo $b->getInfo();
//echo $b->getInfo1(); //会报错静态方法访问错误
//echo Demo1::getInfo1();//会报错 静态方法不能用this访问
echo Demo1::getInfo2($b->name,$b->age),'<br>';//类名访问
echo $b->getInfo2($b->name,$b->age),'<br>'; //对象访问都可以
Demo1::$country = 'china';
echo Demo1::$country; //静态成员可以重新赋值,在创建很多对象,值不会因为创建的对象改变点击 "运行实例" 按钮查看在线实例
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号