017对象——对象 get_object_vars get_parent_class is_subclass_of interface_exists
<?php
/**
*/
//get_object_vars($obj) 获得对象的属性,以关联数据形式返回。
/*class study{
public $name;
public $age;
public $city;
function __construct($name,$age,$city)
{
$this->name=$name;
$this->age=$age;
$this->city=$city;
}
public function say(){
echo "学生:{$this->name}年龄是:{$this->age}他来自:{$this->city}";
}
}
$lisi=new study('李四','31','南京');
$lisi->say();
//获取对象的所有属性
print_r(get_object_vars($lisi));//输出:Array ( [name] => 李四 [age] => 31 [city] => 南京 )*/ //get_parent_class([$obj][class[string]]) 传入对象或者类名,获得父类
class study{
public $name;
public $age;
public $city;
function __construct($name,$age,$city)
{
$this->name=$name;
$this->age=$age;
$this->city=$city;
}
public function say(){
echo "学生:{$this->name}年龄是:{$this->age}他来自:{$this->city}";
}
}
class ltStudy extends study{
public $number;//学员编号。
function video(){
echo "{$this->name}在收看学习视频";
}
}
$lisi=new ltStudy('李四','31','南京');
//$lisi->say();
//
//print_r(get_object_vars($lisi));
//获得父类:
//echo get_parent_class($lisi);//输出:study
//echo get_parent_class('ltStudy');//输出:study //is_subclass_of() 检测一个对象是不是一个类的子类所实例化的。
//echo is_subclass_of($lisi,'study'); interface channel{
function edit();
function add();
} class arc implements channel{
function edit()
{
echo "修改文章栏目";
}
function add()
{
echo "添加文章栏目";
}
} //class_exists()检测一个类是否定义 //interface_exists() 检测一个接口是否定义
if (interface_exists('channel')){
echo "channel接口已经定义";
}else{
echo "channel接口没有定义";
}
017对象——对象 get_object_vars get_parent_class is_subclass_of interface_exists的更多相关文章
- php对象:get_object_vars(), get_parent_class(),is_subclass_of(),interface_exists()
get_object_vars():获得对象的属性,以关联数组形式返回 get_parent_class():获得对象的父类 is_subclass_of():判断对象是否某类(参数2)的子类实例出的 ...
- PHP中面相对象对象的知识点整理
面向对象 万物皆对象,将构成问题的事务分解到各个对象上,建立对象的目的不是为了完成一个工作,而是为了描述某个事务在解决问题中的行为,更符合人的思维习惯,代码重用性高,可扩展性. ___________ ...
- json 字符串转换成对象,对象转换成json字符串
json 字符串转换成对象,对象转换成json字符串 前端: 方法一: parseJSON方法: [注意jquery版本问题] var str = '{"name":&qu ...
- vue :class 可以接收 字符串 数组 和 对象 对象里面的key值 根据true或false 显示不显示
vue :class 可以接收 字符串 数组 和 对象 对象里面的key值 根据true或false 显示不显示 https://cn.vuejs.org/v2/guide/class-and-sty ...
- 014对象——对象 __isset __unset __sleep __wakeup
<?php /** * */ /*class lantian { public $name; public $age; private $money; public $c; function _ ...
- float类型转对象 对象转float类型(一)
//float类型转化为对象CGFloat fValue = 1.f;NSNumber *objNo = [NSNumber numberWithFloat:fValue];数值.BOOL型都可以转成 ...
- C++:向函数传递对象(对象、对象指针、对象引用)
3.5.1 使用对象作为函数参数,其方法与传递基本类型的变量相同 //例3.21 使用对象作为函数参数 #include<iostream> using namespace std; ...
- js 中对象--对象结构(原型链基础解析)
对于本篇对于如何自定义对象.和对象相关的属性操作不了解的话,可以查我对这两篇博客.了解这两篇可以更容易理解本篇文章 用构造函数创建了一个对象 obj对象的本身创建了两个属性 x=1 ,y=2 ...
- 利用jackson-databind,复杂对象对象和json数据互转
如果简单对象,那么转换的方式比较多,这里指的复杂对象,是指对象里面存在cycle引用,比如: /** * @author ding * */@Entity@Table(name = "ser ...
随机推荐
- 查找至少连续出现三次的所有数字/连续3天的日期【LeetCode】
编写一个SQL查询,查找至少连续出现三次的所有数字.+----+-----+ | Id | Num | +----+-----+ | 1 | 1 | | 2 | 1 | | 3 | 1 | | 4 | ...
- oracle 禁用索引
同步数据的时候 有索引会比较慢 可以暂时禁用索引 --禁用索引 ALTER INDEX PK_T_AUTH_USERROLE_ID UNUSABLE; --恢复索引ALTER INDEX UK_T_A ...
- spawn 和 exec 的区别(转载)
众所周知,Node.js在child_process模块中提供了spawn和exec这两个方法,用来开启子进程执行指定程序.这两个方法虽然目的一样,但是既然Node.js为我们提供了两个方法,那它们之 ...
- linux一路填坑...
1.安装ubuntu 从ubuntu9.0开始,一路更新,越来越垃圾,更可恶的是工作上经常指定特定的版本,于是乎,我电脑里装了n个版本的ubuntu. Win7 + Ubuntu 15.10 1)装完 ...
- Hadoop集群的配置的主机和IP
集群配置如下: hadoop 192.168.80.100 hadoop1 192.168.80.101 hadoop2 192.168.80.102 (注:ha ...
- Seaborn相关
Seaborn:基于Matplotlib,seaborn提供许多功能,比如:内置主题.颜色调色板.函数和提供可视化单变量.双变量.线性回归的工具.其能帮助我们构建复杂的可视化. ————————缩写定 ...
- 199. Binary Tree Right Side View -----层序遍历
Given a binary tree, imagine yourself standing on the right side of it, return the values of the nod ...
- HDU - 3488 Tour (KM最优匹配)
题意:对一个带权有向图,将所有点纳入一个或多个环中,且每个点只出现一次,求其所有环的路径之和最小值. 分析:每个点都只出现一次,那么换个思路想,每个点入度出度都为1.将一个点拆成两个点,一个作为入度点 ...
- System.Linq.Dynamic 动态查询
安装 VS->工具栏->NuGet程序管理器,System.Linq.Dynamic 注意: 使用动态查询必须先调用AsQueryable()方法,因为动态扩展仅适用于实现IQueryab ...
- JMeter接口测试和压力测试
JMeter接口测试和压力测试 JMeter可以做接口测试和压力测试.其中接口测试的简单操作包括做http脚本(发get/post请求.加cookie.加header.加权限认证.上传文件).做web ...