> 백엔드 개발 > PHP 튜토리얼 > oop - 关于php中的private

oop - 关于php中的private

WBOY
풀어 주다: 2016-06-06 20:12:30
원래의
1069명이 탐색했습니다.

最近学校在学习网站开发,讲到php,研究php中的面向对象发现一个问题,就是说设置对于实现过__get()__set()的类,个人感觉private的属性和不加private的属性就没区别了,那private有什么用?

回复内容:

最近学校在学习网站开发,讲到php,研究php中的面向对象发现一个问题,就是说设置对于实现过__get()__set()的类,个人感觉private的属性和不加private的属性就没区别了,那private有什么用?

__get和set 可以实现当set一个不存在的属性就放进一个数组里面而不是属性里面这样的功能。
再说了,private是将类自身属性定义级别的方法,并不存在说为什么要设置,有什么用的问题啊

首先说明我们应该少用魔术方法,魔术方法相对耗资源。
然后你这个问题可以类比为“有了string为什么还要int”?效果的也一样,为何不废除int呢?

这是程序设计的问题。

为什么要有private,因为要保护对象属性不被外部随意的修改。

那么为什么要有 public function get(); public function set(); 因为业务逻辑又要求不能完全封闭,希望对外能够提供属性内容,那么就通过 set(),get() 方法来提供了。

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿