类和对象

什么是类

什么是类?

这几乎是每一位面向对象初学者要问到的问题。那么我们暂且放开什么是类,我来问大家什么是人类?

有同学会回答:具有相同特征的某一类动物就是人类。

好,这位同学回答的很好,可能有的同学就不以为然了,那么一类动物的一类又是什么?好吧,我们陷入了一个鸡生蛋还是蛋生鸡的困境了。

你就记住具有相同特征的一群动物,我们称之为类。这个时候你想必知道了类他指的是一群,是一个集合,而且是一个抽象的集合。那么张三跟李四呢?是不是人?是的,他们是更具体的人类。

这就是我们后面要跟大家讲的,类是对象的抽象,而对象是类的具体表现,也就是类实现。

或者说类是对象的模板。

类的声明

类的声明需要使用关键字class这一点跟我们的函数的声明有所区别

类别函数
声明关键字classfunction
修饰词static,public,protected,private,abstract,finalstatic
特征值类成员属性变量
行为类成员方法函数
扩展性通过继承来实现扩展性重新定义新函数

类的声明

<?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;
    }
}

?>

什么是对象

对象是具体的某一事物,对象就是类的实例化,具体体现。

类与对象的关系

  1. 类是对象的抽象集合
  2. 对象是类的实例化,或称类的具体表现

举例:

对象是对现实世界中实体的描述。

如果我说具有手足、鼻子眼睛等器官,同时有说话,吃饭睡觉功能的动物的集合,你可能在脑海中只是很模糊的一个概念,只是知道有这样那样的器官和功能。

但是我这个时候说,你看张三,他就是这个集合的一份子,这一瞬间你就明白了,我要表达的是什么了。对,张三就是我们人类实例化,具体化的某个动物。而人类就是由张三抽象出的一个群体。

实例化一个对象

<?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();

?>
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 、4下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合;、下载 4使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合;、 4下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值