什么是类
什么是类?
这几乎是每一位面向对象初学者要问到的问题。那么我们暂且放开什么是类,我来问大家什么是人类?
有同学会回答:具有相同特征的某一类动物就是人类。
好,这位同学回答的很好,可能有的同学就不以为然了,那么一类动物的一类又是什么?好吧,我们陷入了一个鸡生蛋还是蛋生鸡的困境了。
你就记住具有相同特征的一群动物,我们称之为类。这个时候你想必知道了类他指的是一群,是一个集合,而且是一个抽象的集合。那么张三跟李四呢?是不是人?是的,他们是更具体的人类。
这就是我们后面要跟大家讲的,类是对象的抽象,而对象是类的具体表现,也就是类实现。
或者说类是对象的模板。
类的声明
类的声明需要使用关键字class这一点跟我们的函数的声明有所区别
类别 | 类 | 函数 |
---|---|---|
声明关键字 | class | function |
修饰词 | static,public,protected,private,abstract,final | static |
特征值 | 类成员属性 | 变量 |
行为 | 类成员方法 | 函数 |
扩展性 | 通过继承来实现扩展性 | 重新定义新函数 |
类的声明
<?php
class People
{
public $name = 'xiaoming';
protected $age = 32;
private $salary = 1500;
public function say()
{
return $this->name;
}
protected function sayAge()
{
return $this->age;
}
private function saySalary()
{
return $this->salary;
}
}
?>
什么是对象
对象是具体的某一事物,对象就是类的实例化,具体体现。
类与对象的关系
- 类是对象的抽象集合
- 对象是类的实例化,或称类的具体表现
举例:
对象是对现实世界中实体的描述。
如果我说具有手足、鼻子眼睛等器官,同时有说话,吃饭睡觉功能的动物的集合,你可能在脑海中只是很模糊的一个概念,只是知道有这样那样的器官和功能。
但是我这个时候说,你看张三,他就是这个集合的一份子,这一瞬间你就明白了,我要表达的是什么了。对,张三就是我们人类实例化,具体化的某个动物。而人类就是由张三抽象出的一个群体。
实例化一个对象
<?php
class People
{
public $name = 'xiaoming';
protected $age = 32;
private $salary = 1500;
public function __construct($name, $age, $salary)
{
$this->name = $name;
$this->age = $age;
$this->salary = $salary;
}
public function say()
{
return $this->name;
}
protected function sayAge()
{
return $this->age;
}
private function saySalary()
{
return $this->salary;
}
}
$zhangsan = new People('zhangsan', 22, 1000);
echo $zhangsan->say();
?>
网友评论