类声明,类的实例化" class="reference-link"># 类声明,类的实例化

<?php

// class 声明一个类
class student{
//类属性
public $name = ‘张三’;
public $age = 20;
//构造方法初始化 $name和$age变量
function __construct($name,$age){

  1. $this -> name = $name;
  2. $this -> age = $age;
  3. }
  4. public function mingzi()
  5. {
  6. return $this->name;
  7. }

}
// new:类实例化
$obj = new student(‘李四’,28);
var_dump($obj);

类的静态成员" class="reference-link">类的静态成员

<?php
//静态成员
//static 声明静态成员

class user{

  1. public static $name="小花";
  2. public static $sex="女";
  3. // public function __construct($name="张三",$sex="男"){
  4. // self::$name = $name;
  5. // self::$sex = $sex;
  6. // }
  7. public static function mingzi(){
  8. //调用静态成员用类名::静态成员
  9. return '我叫'.self::$name.'我是'.self::$sex;
  10. }

}
// $yuangong=new user();
// var_dump(user::$name);
echo user::mingzi();

类的扩展" class="reference-link">类的扩展

<?php
//类的扩展

class phone{
protected $name = ‘座机’;
protected $gn= ‘打电话’;

  1. public function chi()
  2. {
  3. return "$this->name , $this->gn";
  4. }

}

$elephant = new phone();
echo $elephant->chi();

class mobile extends phone {

  1. private $yinyue = '音乐';
  2. private $shipin = '视频';
  3. public function zhineng(){
  4. return "我不仅会 $this->gn ,我还会 $this->yinyue , $this->shipin";
  5. }

}

$gongju = new mobile();
echo $gongju->zhineng();

trait功能" class="reference-link">trait功能

<?php
//通过在类中使用use 关键字,声明要组合的Trait名称,具体的Trait的声明使用Trait关键词,Trait不能实例化
trait dome1{
public $name = ‘老王’;

  1. public function text(){
  2. return $this->name;
  3. }

}

class dome2{
use dome1;
}

$dome2 = new dome2();
echo $dome2->text();

trait 的冲突与优先级的解决方案" class="reference-link">trait 的冲突与优先级的解决方案

1.优先级解决
2.别名

<?php
trait student{
public function zhangsan(){
return ‘我是张三’;
}
}

trait student2{
public function zhangsan(){
return ‘我也是张三’;
}
}

class student3{

use student,student2{
//优先级
student::zhangsan insteadOf student2;
//别名
student2::zhangsan as T2zhangsan;
}
}

$student3 = new student3();
echo $student3->zhangsan().’<br>‘;
echo $student3->T2zhangsan();

trait与父类的区别与联系" class="reference-link">trait与父类的区别与联系

子类>trait>父类
输出子类chi()

没有子类输出trait的chi()

都没有则输出父类的chi();

更多相关文章

  1. PHP类声明|类的实例化|类的静态成员|类的扩展|trait与父类关联|t
  2. PHP面向对象编程
  3. 0202-类声明及类的实例化,静态成员与类的扩展,trait与父类的区别
  4. PHP类与对象的基础概念
  5. Android(安卓)NDK 开发教程四:TwoLibs示例
  6. C调用Java
  7. 在ubuntu下安装android studio完整版 吐血整理
  8. 如何防止android app被kill
  9. android逆向学习,笔记(四)IDA Pro Android(安卓)静态分析

随机推荐

  1. Android手势下拉抽屉效果
  2. Android--取出SDcard卡上指定后缀名的文
  3. Android连续点击两次返回键退出App
  4. Android SDK 2.1 install
  5. Android磨砂效果
  6. Android初学笔记1
  7. android常用开源库分享
  8. blog  android
  9. android AlertDialog自定义全屏显示
  10. IntentService简介