php面向对象编程,php面向对象_PHP教程
程序员文章站
2022-04-13 13:56:47
...
php面向对象编程,php面向对象
面向对象编程的基本原则:
- 单一职责:一个类,只需要做好一件事
- 开放封闭:一个类,应该是可扩展的,而不是可修改的
- 依赖倒置:一个类,不应该强依赖另一个类。每个类对应另外一个类都是可替换的
- 配置化:尽可能地使用配置,而不是硬编码
- 面向接口编程:只需要关心接口,不需要关心实现
1、设置类的属性
class ShopProduct { public $title = 'default product'; public $producterMainName = 'main name'; public $producterFirstName = 'first name'; public $price = 0; } $product1 = new ShopProduct(); //设置属性 $product1->title = "My Antonia"; $product1->producterFirstName = "Cather"; $product1->producterMainName = "Willa"; $product1->price = 5.99; //访问 echo 'author: '.$product1->producterFirstName.' '.$product1->producterMainName;
用以上方法设置属性值会有很多问题:
第一:PHP允许动态设置属性,如果拼错或忘记属性名时并不会得到警告。例如错误地把
$product1->producterMainName = "Willa";
写作
$product1->producterSecondName = "Willa";
,当我们输出作者名字的时候,会有意想不到的结果。
第二:类太过松散,我们没有强制设置标题、价格或者产品名称,客户端代码可以确定的是这些属性存在,但是面对的可能是默认值也可能不是,理想情况下,我们希望实例化ShopProduct对象时设置有意义的属性值。
第三:不得不重复做一些经常做的事,比如多次需要完整输出作者的名字,就要重复使用
echo 'author: '.$product1->producterFirstName.' '.$product1->producterMainName;
上一篇: 详解Python装饰器的介绍
下一篇: 推荐10篇关于Hotspot内容的文章
推荐阅读
-
Php面向对象 – 类常量
-
插入排序、快速排序跟php面向对象的知识
-
在线富文本编辑器原理?只会PHP面向过程知识能不能写个编辑器?
-
PHP编程过程中需要了解的this,self,parent的区别_PHP教程
-
PHP强制对象类型之instanceof操作符
-
什么是面向对象 不错的一篇面向对象的PHP开发模式(简写版)
-
Python学习笔记(二):面向对象编程小实例士兵突击封装案例
-
Web端PHP代码函数覆盖率测试解决方案_PHP教程_编程技术
-
PHP5.0对象模型探索之抽象方法和抽象类PHP学习网
-
PHP对象编程有关问题,Call to a member function hello() on a non-object