我是OOP的新手。我们是否必须在构造函数中声明所有属性? 例如:
private $_conn;
private $_limit;
private $_page;
private $_query;
private $_total;
public function __construct($conn, $query){
$this->_conn = $conn;
$this->_query = $query;
$rs = $this->_conn->prepare($this->_query);
$rs->execute();
$this->_total = $rs->rowCount();
}
public function getData($page = 1, $limit = 10){
$this->_limit = $limit;
$this->_page = $page;
if ($this->_limit == 'all'){
$query = $this->_query;
} else {
$query = $this->_query." LIMIT ".(($this->_page - 1) * $this->_limit).", $this->_limit";
}
$rs = $this->_conn->prepare($query);
$rs-> execute();
while ($row = $rs->fetch(PDO::FETCH_ASSOC)){
$results[] = $row;
}
我从互联网上的某个地方得到的。编码器未在构造函数中声明$ _limit和$ _page属性。如果不使用getData方法,是否不创建属性?我们可以将此逻辑用于Java,C#,C ++等其他编程语言吗?
答案 0 :(得分:2)
每个方法/函数(包括对象的构造函数)都应仅声明将要使用的变量。
答案 1 :(得分:1)
不必在构造函数中声明所有成员。您甚至可以将其留空
答案 2 :(得分:1)
您不需要在构造函数中声明所有成员,这不是必须的,但是声明它们也是一种不错的做法。它是由你决定。两种方法都很好。