美文网首页
public、protected、private属性

public、protected、private属性

作者: Do_you | 来源:发表于2018-03-01 22:16 被阅读0次
属性 外部 子类 内部
public 可以 可以 可以
protected 不行 可以 可以
private 不行 不行 可以

注意:设置了访问的修饰符后,类继承时总是保持一种“是一”的关系。因此,如果一个父类把一个成员变量声明成为公共的成员,继承的子类也必须把它声明为公共成员。否则,子类将不能与父类保持“是一”的关系,这种关系意味着你对父类的任何修改也会影响子类。

<?php
/**
* Created by PhpStorm.
* User: ZhouTengFu
* Date: 2018/2/13
* Time: 上午12:45
*/
class MyDbConnectionClass
{
/**
* 不希望被外部直接赋值或者调用。所以使用private
* @var
*/
private $dbConnection;

/**
* 该方法对外,所以使用public
* @return resource
*/
public function connect()
{
$conn = $this->createDbConnection();
$this ->setDbConnection($conn);
return $conn;
}

/**
* 该方法可能会被继承的类修改,所以使用protected
* @return resource
*/
protected function createDbConnection()
{
return mysql_connect("localhost");
}

/**
* 该方法只会被内部调用,所以使用private
* @param $conn
*/
private function setDbConnection($conn)
{
$this->dbConnection=$conn;
}
}

class MyFooDotComDbConnectionClass extends MyDbConnectionClass{
/**
* 由于要保持"是一"的关系,这里不能使用private,能使用public,protected。只能越来越开放
* @return resource
*/
public function createDbConnection()
{
return mysql_connect("foo.com");
}
}

注意:如果没有给一个方法设置访问的修饰符,会被默认为public修饰符。

相关文章

  • public、protected、private属性

    注意:设置了访问的修饰符后,类继承时总是保持一种“是一”的关系。因此,如果一个父类把一个成员变量声明成为公共的成员...

  • public private protected

    public private protected就是PHP中的修饰符,它的作用是控制对象对类的访问 eg. 在pe...

  • @private、@protected、@public

    @private 作用范围:只有自身类可以调用 @protected 作用范围:在自身类和继承自己的子类可以调用(...

  • public、protected、private

    1、public:表示紧随其后的元素对任何人都是可用的。2、private:表示除类型创建者和类型的内部方法之外的...

  • 面试题

    面试题 1、使用length属性获取数组长度,public、private、protected、friendly区...

  • 可见修饰符

    修饰符: public、private、protected、internal默认为public。private的可...

  • kotlin修饰符

    kotlin中有四种修饰符: public private protected inernal函数,属性和类,对象...

  • 3年工作经验的Java程序员面试经过

    一、Java基础部分 1、使用length属性获取数组长度,public、private、protected、fr...

  • 3年工作经验的Java程序员面试经

    一、Java基础部分1、使用length属性获取数组长度,public、private、protected、fri...

  • 3年工作经验的Java程序员面试经

    一、Java基础部分 1、使用length属性获取数组长度,public、private、protected、fr...

网友评论

      本文标题:public、protected、private属性

      本文链接:https://www.haomeiwen.com/subject/byanxftx.html