<?php
date_default_timezone_set("PRC");
/**
* 1. 类的定义以class关键字开始,后面跟着这个类的名称。类的名称命名通常每个单词的第一个字母大写。
* 2. 定义类的属性
* 3. 定义类的方法
* 4. 实例化类的对象
* 5. 使用对象的属性和方法
*/
class Human{
public $name;
public $height;
public $weight;
public function eat($food){
echo $this->name."'s eating ".$food."<br/>";
}
}
class Animal{
public $kind;
public $gender;
}
class NbaPlayer extends Human{
// 类的属性的定义
public $name="Jordan";// 定义属性
public $height="198cm";
public $weight="98kg";
public $team="Bull";
public $playerNumber="23";
private $age="44";
public $president="David Stern";
// 类的方法的定义
public function changePresident($newP){
$this->president=$newP;
}
public function run() {
echo "Running<br/>";
}
public function jump(){
echo "Jumping<br/>";
}
public function dribble(){
echo "Dribbling<br/>";
}
public function shoot(){
echo "Shooting<br/>";
}
public function dunk(){
echo "Dunking<br/>";
}
public function pass(){
echo "Passing<br/>";
}
public function getAge(){
echo $this->name."'s age is ".$this->age;
}
function __construct($name, $height, $weight, $team, $playerNumber){
print $name . ";" . $height . ";" . $weight . ";" . $team . ";" . $playerNumber."\n";
$this->name = $name; // $this是php里面的伪变量,表示对象自身
$this->height = $height; // 通过$this可以设置对象的属性值
$this->weight = $weight;
$this->team = $team;
$this->playerNumber = $playerNumber;
}
}
/**
* 1. 类实例化为对象时使用new关键字,new之后紧跟类的名称和一对括号。
* 2. 使用对象可以像使用其他值一样进行赋值操作
*/
$jordan = new NbaPlayer("Jordan", "198cm","98kg","Bull","23");echo "<br/>";
$james=new NbaPlayer("James", "203cm", "120kg", "Heat", "6");echo "<br/>";
// 访问对象的属性使用的语法是->符号,后面跟着属性的名称
echo $jordan->name."<br/>";
// 调用对象的某个方法使用的语法是->符号,后面跟着方法的名称和一对括号
$jordan->run();
$jordan->pass();
//子类调用父类的方法
$jordan->eat("apple");
//试着调用private,直接以及通过内部的public函数
//$jordan->age;
$jordan->getAge();echo "<br/>";
$jordan->changePresident("Adam Silver");
echo $jordan->president."<br/>";
echo $james->president."<br/>";
直接从上述例子开始吧。
这里想得到的是,把两位对象的某一个变量同时变掉。——用static
public static $president="David Stern";
// 类的方法的定义
public static function changePresident($newP){
static::$president=$newP;//这里static换成self更符合规范
}
echo NbaPlayer::$president;echo "<br/>";
NbaPlayer::changePresident("Adam Silver");
echo NbaPlayer::$president;echo "<br/>";
class BaseClass{
public function test(){
echo "BaseClass::test called<br/>";
}
public function test1(){
echo "BaseClass::test1 called<br/>";
}
}
class ChildClass extends BaseClass{
public function test(){
echo "ChildClass::test called<br/>";
}
}
$obj=new ChildClass();
$obj->test();
//具体对象,连接到接口
class Human implements ICanEat{
public function eat($food){
echo "Human eating ".$food.".<br/>";
}
}
$obj=new Human();
$obj->eat("shit");
interface ICanEat{
public function eat($food);
}
//具体对象,连接到接口
class Human implements ICanEat{
public function eat($food){
echo "Human eating ".$food.".<br/>";
}
}
class Animal implements ICanEat{
public function eat($food){
echo "Animal eating ".$food.".<br/>";
}
}
$obj=new Human();
$obj->eat("shit");
$monkey=new Animal();
$monkey->eat("banana");
interface ICanPee extends ICanEat{
public function pee();
}
class Demon implements ICanPee{
public function pee(){
echo "Can demon pee?";
}
public function eat($food){
echo "Can demon eat ".$food;
}
}
$ghost=new Demon();
$ghost->pee();
$ghost->eat("shit");
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有