>  기사  >  백엔드 개발  >  PHP와 같은 기능

PHP와 같은 기능

WBOY
WBOY원래의
2016-07-29 09:01:311026검색

객체 하향 전달 특성

객체가 인스턴스 메서드를 호출한 후 해당 메서드에서 다른 클래스의 메서드를 정적으로 호출하면 정적으로 개체를 가져옵니다. 호출된 메소드

<code><span><span><?php </span><span><span>class</span><span>bee</span>{</span><span>public</span><span>$a</span> = <span>1</span>;
    <span>public</span><span><span>function</span><span>f</span><span>()</span>{</span><span>echo</span><span>$this</span>->a;
        <span>echo</span><span>'<br>'</span>;
        @lig::f();
    }
}

<span><span>class</span><span>lig</span>{</span><span>public</span><span>$a</span> = <span>2</span>;
    <span>public</span><span><span>function</span><span>f</span><span>()</span>{</span><span>echo</span><span>$this</span>->a;
    }
}

<span>$obj</span> = <span>new</span> bee();
<span>$obj</span>->f();</span></span></code>

PHP와 같은 기능

static late static 바인딩

static의 소스 메소드(this)는 3가지 다른 의미를 가집니다. 구문

  • 함수의 정적 변수
<code><span><span>function</span><span>f</span><span>()</span>{</span><span>static</span><span>$v</span> = <span>1</span>;
}</code>
  • 클래스의 정적 멤버
<code><span><span>class</span><span>bee</span>{</span><span>static</span><span>$v</span> = <span>1</span>;
    <span>static</span><span><span>function</span><span>f</span><span>()</span>{</span>}
}</code>
  • 동적 메서드에서 self와는 다른 '현재 클래스'를 지정합니다. static은 이 메서드를 호출하는 클래스(동적)를 나타내고, self는 해당 코드가 있는 클래스를 나타냅니다(정적)
<code><span><span>class</span><span>bee</span>{</span><span>static</span><span>public</span><span>$a</span> = <span>10</span>;
    <span>static</span><span>public</span><span><span>function</span><span>f</span><span>()</span>{</span><span>echo</span> get_class().<span>':'</span>;
        <span>echo</span><span>self</span>::<span>$a</span>.<span>'-'</span>;
        <span>echo</span><span>static</span>::<span>$a</span>;
    }
}
<span><span>class</span><span>lig</span><span>extends</span><span>bee</span>{</span><span>static</span><span>public</span><span>$a</span> = <span>20</span>;

}

<span>echo</span> bee::f();
<span>echo</span><span>'<br>'</span>;
<span>echo</span> lig::f();</code>

PHP와 같은 기능

객체지향의 3대 개념

  • 캡슐화
    데이터를 캡슐화하여 다른 사람에게 보여주지 않으려고 노력하는 것입니다. 가장 기본적인 캡슐화는 클래스 내에서 많은 데이터를 캡슐화하는 것이라고 볼 수 있지만, 더 엄밀히 말하면 속성을 최대한 비공개로 만드는 것입니다. 가능하며 공유된 방법을 통해 외부에 작업을 제공합니다.
  • 상속
  • 다형성
    일반적으로 다른 결과를 얻기 위해 동일한 방법을 사용하는 개체를 나타냅니다.
    이는 또한 서로 다른 객체가 동일한 방법을 사용하여 서로 다른 결과를 얻는다는 것을 의미합니다
').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i ').text(i)); }; $numbering.fadeIn(1700); }); });

이상에서는 PHP의 기능을 포함하여 PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.