类的申明、实例化类、类常量、类方法的重写以及类的继承

实例

// 类的声明与实例化

// 父类

class Demo1

{

// 类常量使用关键字: const 定义

const SITE_NAME = '教师管理系统';

public $name;

protected $salary;

private $age;

// 初始化属性

public function __construct($name, $salary)

{

$this -> name = $name;

$this -> age = $salary;

}

}

// 子类

class Demo2 extends Demo1

{

private $sex;

// 重写类常量

const SITE_NAME = '学生管理系统';

// 重写父类方法

function __construct($name, $age, $sex = 'male')

{

//引用父类的构造方法来简化代码

parent::__construct($name, $age);

$this->sex = $sex;

}

// 重载属性

public function __get($name)

{

if(isset($this -> $name)){

return $this -> $name;

}

return '无此属性!';

}

}

$dome2 =new Demo2('peter', 6000);

// 访问类属性

echo $dome2 -> name.'
';

echo $dome2 -> salary.'
';

echo $dome2 -> age.'
';

// 访问类常亮

echo Demo1::SITE_NAME,'
';

echo Demo2::SITE_NAME;

运行实例 »

点击 "运行实例" 按钮查看在线实例

类中静态成员的声明与访问

实例

// 类中静态成员的申明与访问

class Demo {

public static $pdo;

protected static $db = [

'type'    => 'mysql',

'host'    => '127.0.0.1',

'dbname'  => 'test',

'user'    => 'root',

'pass'    => ''

];

public static function connect()

{

$dsn = self::$db['type'].':host='.self::$db['host'].';dbname='.self::$db['dbname'];

self::$pdo = new PDO($dsn, self::$db['user'], self::$db['pass']);

}

public static function sect($table, $fields='*', $num=5)

{

// 预处理

$stmt = self::$pdo->prepare("SELECT {$fields} FROM {$table} LIMIT {$num}");

// 执行查询操作

$stmt -> execute();

// 返回查询结果

return $stmt -> fetchAll(PDO::FETCH_ASSOC);

}

}

// 连接数据库

Demo::connect();

// 查询表中的数据

$result = Demo::sect('user', 'name, age, salary', 6);

echo '

',var_export(($result));

运行实例 »

点击 "运行实例" 按钮查看在线实例

总结:

1类属性或类方法的访问控制:public(公有),protected(受保护)或 private(私有)

2.类中非静态成员使用$this->访问,静态成员使用self::访问

php类方法属性省略,第十课—类的属性和类的方法 2018年9月3日 20时00分相关推荐

  1. mysql构造器_类和对象,类的构造器,魔术方法__get()和__set(),mysql连接数据库的方式--2018年8月30日11时38分...

    这一节课主要讲的是类和数据库的知识,主要是类和对象,类的构造器,魔术方法__get()和__set(),mysql连接数据库1. 什么是类 ?什么是对象?举例说明 答:类是对象的模板,对象是类的一个实 ...

  2. 原生 js、javaScript 处理十位数(带有小数点的浮点数时间戳)、十三位数、时间戳, 将时间戳转换成 年、月、日、时、分、秒、毫秒、正常的日期格式

    function timestampToTime(timestamp) {var date = new Date(timestamp * 1000);//时间戳为10位需*1000,时间戳为13位的话 ...

  3. 【SQL开发实战技巧】系列(十六):数据仓库中时间类型操作(初级)日、月、年、时、分、秒之差及时间间隔计算

    系列文章目录 [SQL开发实战技巧]系列(一):关于SQL不得不说的那些事 [SQL开发实战技巧]系列(二):简单单表查询 [SQL开发实战技巧]系列(三):SQL排序的那些事 [SQL开发实战技巧] ...

  4. php 类名 属性6,php基础知识(类中属性和方法练习)--2018年9月6日14:01:15

    实例 echo " 类的申明与实例化 "; class test1 { public function hello(){ return "我是一个类"; } } ...

  5. php 父类命名空间,对命名空间的理解、类的继承与实现——2019年7月31号22时03分...

    对命名空间的理解: 声明命名空间为 namespace : ::class //获取当前类的完整类名称(命名空间名称+类名称): 访问 new \命名空间名称\类名称 : 在one空间执行two空间的 ...

  6. 李沐在斯坦福开新课了!面向机器学习实战,课程全部免费,9月1日可报名

    明敏 发自 凹非寺 量子位 报道 | 公众号 QbitAI 朋友们,又有新课可以白嫖了! 斯坦福新课<实践机器学习(CS 329P)>上线了,主讲人为李沐.黄清清.Alex Smola. ...

  7. 日期类的时间从为什么是从1970年1月1日(格林威治时间)

    I suspect that Java was born and raised on a UNIX system. UNIX considers the epoch (when did time be ...

  8. 2018年5月14日第4课—文件隐藏权限、特殊权限、find命令等

    为什么80%的码农都做不了架构师?>>>    1. 隐藏权限 设置隐藏权限:chattr  [+|-选项]  文件|目录 选项: i:无法修改文件,如果目录设置了此权限,则仅能修改 ...

  9. 日期类的时间从为什么是从1970年1月1日

    I suspect that Java was born and raised on a UNIX system. UNIX considers the epoch (when did time be ...

最新文章

  1. 经典算法面试题目-判断s2是否是s1的旋转字符串(1.8)
  2. linux docker 与 iptables 的关系
  3. Android 自定义WaveProgressView满足你所有水波纹加载需求
  4. 光源时间_天哪!你们居然都错了!D65光源,指的是上午还是下午的太阳光?
  5. iOS下音视频通信-基于WebRTC
  6. 全部关于测试–第1部分
  7. FM,FFM及其实现
  8. 制图折断线_学不好CAD怎么办?老师傅教你CAD制图规范,新手也能秒懂
  9. U-Boot源码之串口驱动
  10. js基础之六种继承方式
  11. 前端纯CSS导入otf字体包
  12. 数据结构——什么是数据结构?
  13. 【突变检验合集】含Pettitt突变检验等
  14. 12306网站服务器时间限制,12306网上订票时间限制
  15. Mac系统恢复以及Mac键盘快捷键 官方方法
  16. 电脑操作手机scrcpy软件
  17. 定时器node-schedule使用
  18. 苹果怎么设置下载软件不要密码?手机技巧分享
  19. Linux 网络分析工具 fping命令解析
  20. 汉诺塔 = 套娃 ?

热门文章

  1. kettlejava脚本的api_[翻译]KETTLE JAVA API :编程定制自己的Kettle转换(transformation)...
  2. canny算子_在Python中逐步检测Canny边缘 计算机视觉
  3. ecplise git修改提交信息_eclipse git提交忽略文件配置
  4. python实现卷积_【python实现卷积神经网络】池化层实现
  5. mysql 5.6.21 rpm_centos_mysql5.6.21_rpm安装
  6. 闪电邮修改服务器设置,网易闪电邮添加outlook邮箱的方法(图文教程)
  7. linux动态ip 搭建什么服务,怎么给Linux系统配置动态IP服务
  8. 大一计算机应用基础答案李小艳,13级幼师班期末考试计算机试题A卷
  9. java提交表单后页面不刷新_表单已经提交,但是点击后退,显示网页过期,刷新后怎样避免重复提交(急!!谢谢!)...
  10. Spring mvc 返回jsp