当前位置:首页 » 编程语言 » php对象属性

php对象属性

发布时间: 2022-08-06 18:05:15

① 我想问一下,php面向对象的属性既然分公有,私有,被保护,那什么时候分别用这三个属性呢感谢回答。

这个问题应该是面向对象里去学,不是PHP特有或独有的。
公有继承(public)、私有继承(private)、保护继承(protected)是常用的三种继承方式。
1. 公有继承(public)
公有继承的特点是基类的公有成员和保护成员作为派生类的成员时,它们都保持原有的状态,而基类的私有成员仍然是私有的,不能被这个派生类的子类所访问
2. 私有继承(private)
私有继承的特点是基类的公有成员和保护成员都作为派生类的私有成员,并且不能被这个派生类的子类所访问。
3. 保护继承(protected)
保护继承的特点是基类的所有公有成员和保护成员都成为派生类的保护成员,并且只能被它的派生类成员函数或友元访问,基类的私有成员仍然是私有的。

② PHP 中的 对象 类 属性 实例化 到底是怎么理解的啊·

我的理解
说一个人养了一只小狗(定义一个对象),把狗牵过来,摆在面前,让它确实存在(实例化)。
类,就是类别。人是一类,狗是一类。
属性就是人的特点,长头发、白皮肤、黑眼珠。
方法就是人会唱歌、会说话、会跑步跳跃等各种行为。
对象,就是类里面的一个个体。人类中的每一个人都是一个对象

③ php对象属性赋值

你这样使用时不符合oop的规范的,成员变量在最开始只能简单的定义,如果你要实现上述的代码应该这样:
class Test{
public $strtodate = 0;
public function __construct() {
$this->$strtodate = strtotime('2012-01-22');

}
}

$test = new Test();
echo $test->strtodate;

④ php中方法的属性可以是对象吗

类就是指一类人、事、物。对象就是类里面具体都某个个体,所以称为实例化一个对象。属性就是这个对象所拥有的特性,方法就是该对象能够做的事。

⑤ php 中的 -> 对象的方法或者属性 一般是干什么的用在什么地方

你这样用当然是不行的了,"->"符号是用在对象中的,符号左边是对象右边对象的属性或者方法
例:
<?php
//一个people类
//有两个属性和一个方法
class
People{
public
$name;
public
$age;
function
say($word)
{
echo
$word;
}
}
//实例化一个对象
$a
=
new
People();
//对象属性初始化
$a->name="zhangsan";
echo
$a->name;
//调用
方法
$a->say("hello");
?>

⑥ PHP类。。。声明对象属性

要把类中所有变量都声明一遍,一般用private封装在类中,然后再用构造__construct()构造一遍,再写一些方法调用就可以了。 追问: 全都构造一遍吗? 如果不全都构造一遍,我不明白声明不构造那些变量有什么用。。。初学,很迷糊 回答: 全都构造一遍,在类中运用这些变量就不用每个方法里面都构造一遍了。比如,如果你没有用__construct构造每个变量,以后你在每个方法中都要构造。很麻烦

⑦ 如下关于PHP对象属性代码为什么输出不了呢,大家帮帮忙

楼上的代码是正确的,我锦上添花一下好咯。

<?
class wk{
public $name=''
public $telno=''
public $sex=''
function a($name){
return $this->name;//应该先将$name赋值给对象的name属性
}
function b($sex){
return $this->sex;//同上,应该先将$sex赋值给对象的sex属性
}
}
$people=new wk();
$people->a('wenkun');//此处你执行了方法,但是并没有将方法的返回值传递给$name这个变量
echo $name;//$name还没有被赋值哦,如果你打开了全部错误提示,此处会看到一个提示,说$name还没有定义。如果你是希望使用对象的$name属性,此处应该是echo $people->name;
$people->b('boy');
echo $sex;//同上

而且,对于赋值操作建议使用set开头,要从一开始养成良好的代码书写习惯,即便是测试的代码。以下是推荐的写法,你自行印证咯。

<?php
class Demo {
protected $name = ''
public function setName($name) {
$this->name = $name;
return $this;
}
public function getName() {
return $this->Name;
}
}
$obj = new Demo();
$obj->setName('Nick');
echo $obj->getName();

这样是不是可读性好很多呢?

⑧ php 对对象的属性怎么操作

用箭头操作

classAction{
private$name=null;

functiongetName(){
return$this->name;
}

functionsetName($name){
$this->name=$name;
}
}

⑨ php怎么获取对象的属性名

使用 get_object_vars() 方法
缺点: 只能显示 public 的
//只显示public的
var_mp(get_object_vars($test));

处理: 在类中定义一个public 的方法, 外部对象调用即可显示所有属性(除了静态属性之外)
function showAllProperties2(){
var_mp(get_object_vars($this));
}

⑩ 为什么PHP对象的属性不能给它赋值为对象和资源性的变量

可以的。。只是在定义类属性的时候不可以。

因为在声明属性的时候,不能书写表达式。
实例化好的对象属性,是可以随意赋值的。除非是 __set 和 __get 方法制作的“伪属性”,在方法里加了判断。

热点内容
sql打开bak文件 发布:2025-01-22 15:47:32 浏览:106
opengl服务器源码 发布:2025-01-22 15:40:02 浏览:908
python部署服务 发布:2025-01-22 15:38:46 浏览:282
压缩机卡装 发布:2025-01-22 15:37:04 浏览:446
每天跑步40分钟可以缓解压力吗 发布:2025-01-22 15:33:24 浏览:448
线性表的链式存储结构与顺序存储 发布:2025-01-22 15:32:45 浏览:295
解压缩大师 发布:2025-01-22 15:26:51 浏览:386
xp访问win7共享打印机无权限 发布:2025-01-22 15:23:22 浏览:830
python中pandas 发布:2025-01-22 15:21:42 浏览:639
编程系列书 发布:2025-01-22 15:10:16 浏览:402