2010-11-18 2 views
0

Objective-C를 배우기 시작하고 PHP와 같은 개념인지 아닌지 궁금합니다. 예를 들어 Object Oriented PHP의 개념은 "Class, Instance, Message, Method, Instance Variable, Inheritance, Superclass/Subclass 및 Protocol"과 같이 Objective-C와 동일합니까? 그렇다면 객체 지향 PHP의 기초와 기초를 이미 알고 있으므로 배우고 이해하는 것이 훨씬 쉬울 것으로 짐작됩니다. 아니면 완전히 다른가?PHP는 Objective-C와 Object가 같은가요?

도움과 조언을 크게 주시면 감사하겠습니다. 감사!

답변

2

"프로퍼 (propper)"언어 구조는 모두 본질적으로 동일해야합니다. 그들은 항상 다음의 (또는 아마) 모든 것 또는 하위 섹션을 가져야합니다. (완전히 다른)

  • 방법 (함수 VS)
  • 방법 공개/액세스 제어

    • 클래스/객체 (공공, 사설 보호)
    • 생성자
    • 정적/클래스 변수 & 방법
    • 소멸자/종료 자
    • 상속 (그리고 종종 다중 상속)
    • 인터페이스/프로토콜

    는 언어 기능보다는 더 개념적인 것들과는 상관이 더 많이 용어가 과부하

  • 최우선하지만이 짧은 (그리고 합리적으로 불완전
  • 추상 클래스) 소금의 가치가있는 모든 OO 언어로 프로그래밍 할 때 알아야 할 몇 가지 사항 목록입니다.

    원한다면 위키 백과에 용어 목록이 있습니다. http://en.wikipedia.org/wiki/List_of_object-oriented_programming_terms

    내가 다형성을 위의 조건에 대한 책을 읽은뿐만 아니라

    • 인스턴스 변수
    • 좋을 것

    • 구성
    • 캡슐화

    당신이 당신의 defenitions이 알고있는 경우에 OO의 언어 간 이동은 훨씬 간단합니다. 당신이 서서 사용할 수있는 매우 넓은 기반을 가지게 될 것입니다. (단지 몇 가지를 알고 난 후에 새로운 언어를 배울 때와 마찬가지로, 미묘한 차이를 배우기 만하면됩니다.

  • +1

    내가 그 오버로드는 객체 지향 프로그래밍의 한 속성입니다 생각하지 않습니다 – dreamlax

    +0

    또 다른 중요한 일을하지에 PHP가 오래된 OOP 언어 (Obj-C) 이상인 것은 마법의 방법이다. – mario

    +0

    @mario : 나에게 [마법 방법] (http://php.net/manual/en/language.oop5.magic.php) in PHP 특정 행동과 관련된 사전 정의 된 메소드처럼 보일뿐입니다. 특정 프로토콜을 채택하는 경우 Objective-C 클래스도 마찬가지입니다. 예를 들어, Objective-C에서 '__toString()'과 같은 것은'description'이고,'__set_state'는 'initWithCoder :와 동등하다.','__set'과'__get'는'setValue : forKey :'와'valueF orKey :'. – dreamlax

    3

    그들은 대부분 CS 이론 개념이기 때문에 기본적으로 같은 생각이지만 구현은 아닙니다. 메시지와 프로토콜은 PHP에는 존재하지 않습니다. PHP는 대부분의 언어가 Objective-C의 프로토콜과 비슷한 인터페이스를 가지고 있습니다.