开发者学堂课程【PHP 进阶教程-由浅入深掌握面向对象开发-第一阶段:面向对象基础语法学习路径】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/711/detail/12656
面向对象基础语法学习路径
内容介绍:
一、面向对象基础
一、面向对象基础
1.学习目标
掌握面向对象的基础语法,能够使用面向对象思想和语法来解决需求问题
·面向对象关键字
·类的定义、实例化和对象
·类成员
·访问修饰限定符
·内部对象$this
·面向对象开发规范
·魔术方法
·成员访问
·静态成员
·自动加载
·克隆
·综合应用
是为了更好地理解面向对象的基础有哪些东西,然后去利用它们来作面向对象的武器实现开发。
2.示例
(1)面向过程的方式实现一个功能:购买商品
# 定义函数购买商品
function buy($goods_id,$num = 1){
echo'商品:'.$goods_id .'购买:"。$num 。"个!';
return ;
}
# 调用解决
buy(1,10); # 输出: 商品:1购买10个
第一个函数方程给一个 goods_id,外面传进来要买什么东西不确定对吧,要买的数量也不确定,外面传进来之后在里面进行加工,加工要做什么看具体业务,做好之后返回,最后调用函数,哪里要用调用函数就可以,比如商品 ID 为1时,就买10个,这是面向过程的方式去实现。
(2)面向对象的方式实现一个功能:购买商品
# 确定是消费者购买(类) class buyer{
# 拥有购买功能(方法)
function buy($id,$num = 1){
echo "商品:".$goods_id 。"购买:"。$num 。'个!"; return ;
}
}
面向对象要复杂,要把方法东西要放到一个对应的主体里去操作,主体用 class 结构,又多了一层大括号 class 定义名字,然后再把函数放到这里,就多一层结构,把它包起来。但是在用的时候就不同。用的时候要从这个里面去明确产生一个对应的具体的操作主体,即对象,产生具体的一个买家。因为不是所有的买家买东西,而是某一个买家,比如说马云、刘强东买东西是具体的人,买家是一种通称,然后去调用里面的函数就可以,本质没有太多变化,多了一层结构,在调用的时候更复杂。
3.小结
(1)面向对象是一种编程思想,编程语言要实现这种编程思想就会有一些相应的语法格式出现(思想不是技术)
(2)使用面向对象语法格式实现的功能才属于面向对象编程(OOP)
要用到才叫 OOP 不用不叫。