什么是类
类是产生对象的工厂,它由属性和方法组成。属性代表对象的状态,方法代表对象的操作行为
什么是对象
对象是由类产生,拥有该类定义的所以属性与方法。
类与类(对象与对象)之间的关系(以电商为场景)
1. 单向关联
对象A知道对象B,但对象B不知道对象A 如: 订单含有商品,但商品不包含订单
/** * 商品 * Class Goods */class Goods{ private $_name = null; private $_price = 0; public function __construct($name,$price) { $this->_name = $name; $this->_price = $price; } /** * @return null */ public function getName() { return $this->_name; } /** * @return int */ public function getPrice() { return $this->_price; }}/** * 订单 * Class Order */class Order{ private $_goods = []; public function addGoods(Goods $goods){ $this->_goods[] = $goods; }}
2. 双向关联
对象A知道对象B,对象B也知道对象A,两个对象之间可以相互调用方法与属性。如:订单与客户之间的关系
class Customer{ public $orders=[]; private $_id; public function __construct($id) { $this->_id = $id; } public function addOrder(Order $order){ $this->orders[] = $order; } public function getOrder(){ return $this->orders; }}class Order{ public function getCustomerByOrderId($orderId){ //通过订单号,找到用户id $id = 23; return new Customer($id); }}