php组合,php排列组合算法
为了提高代码的复用性,降低代码的耦合(组合实现的两种方式)
模式一:
<span> 1</span> <?<span>php </span><span> 2</span> <span>//</span><span>组合模式一</span> <span> 3</span> <span>class</span><span> Person{ </span><span> 4</span> <span>public</span> <span>function</span><span> eat(){ </span><span> 5</span> <span>echo</span> "eat.<br/>"<span>; </span><span> 6</span> <span> } </span><span> 7</span> <span>} </span><span> 8</span> <span> 9</span> <span>class</span><span> Phone{ </span><span>10</span> <span>public</span> <span>function</span><span> call(){ </span><span>11</span> <span>echo</span> "phone call.<br/>"<span>; </span><span>12</span> <span> } </span><span>13</span> <span>} </span><span>14</span> <span>15</span> <span>//</span><span>学生也需要call()这个方法,为了提高代码的复用性(组合)</span> <span>16</span> <span>class</span> Student <span>extends</span><span> Person{ </span><span>17</span> <span>private</span> <span>$people</span><span>; </span><span>18</span> <span>public</span> <span>function</span><span> learning(){ </span><span>19</span> <span>echo</span> "learn.<br/>"<span>; </span><span>20</span> <span> } </span><span>21</span> <span>public</span> <span>function</span> func(<span>$class</span>, <span>$method</span>){<span>//</span><span>兼容多个类的多个方法</span> <span>22</span> <span>$this</span>->people = <span>new</span> <span>$class</span><span>; </span><span>23</span> <span>$this</span>->people-><span>$method</span><span>(); </span><span>24</span> <span> } </span><span>25</span> <span>} </span><span>26</span> <span>27</span> <span>$student</span> = <span>new</span><span> Student(); </span><span>28</span> <span>$student</span>-><span>eat(); </span><span>29</span> <span>$student</span>->func('Phone', 'call'<span>); </span><span>30</span> <span>$student</span>->learning();
模式二:
1 php 2 //组合模式二 3 class Person{ 4 public function eat(){ 5 echo "eat."; 6 } 7 } 8 9 trait Drive{ 10 public function call(){ 11 echo "phone call.
"; 12 } 13 } 14 15 class Student extends Person{ 16 use Drive; 17 public function learning(){ 18 echo "learn.
"; 19 } 20 } 21 22 $student = new Student(); 23 $student->eat(); 24 25 //当方法或属性同名时,当前类中的方法会覆盖 trait的 方法,而 trait 的方法又覆盖了基类中的方法 26 $student->call(); 27 $student->learning(); View Code
성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사
R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
어 ass 신 크리드 그림자 : 조개 수수께끼 솔루션
2 몇 주 전ByDDD
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
4 몇 주 전By尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

WebStorm Mac 버전
유용한 JavaScript 개발 도구

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

DVWA
DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는

Atom Editor Mac 버전 다운로드
가장 인기 있는 오픈 소스 편집기

드림위버 CS6
시각적 웹 개발 도구
