소개 객체 지향 프로그래밍 (어)
마이 그 레이션을 절차적 프로그래밍 (비 - 어) 언어를 객체 - 지향 프로그래밍 언어는 많은 프로그래머 대형 단계를합니다. 것은 사실이다 프로그램을 작성 두 방법 모두 동일한 목표를 달성할 수 궁극적으로,하지만 어가 neater하고 빠르게 찾을 수있습니다 방법을 프로그램, 그것은 더 많은 적합한 팀워크, 그리고 프로그램은 일반적으로 개체 - 지향적인 접근 방식을 사용하여보다 쉽게 디자인합니다. 에 어와 자바, 보람을 찾을 수있습니다로 시작하는이 프로그램은, 아직은 매우 쉽습니다 그리고 매우 유익한 한번 마스터 그것. 개체를 무엇입니까?개체가있는 건물을 차단하는 프로그램을 만들어 내고합니다. 개체를 정확히 설명하기 어려운 개체 있기 때문이다 원하는 무엇이든 수있습니다. 예를 들어, 그것이 나타내는 개체를 만들 수있습니다 외계에 관련된 모든 정보를 보관할 수있는 기능도 포함과 관련된 외국인을합니다. 전화 번호와 같은 데이터를 포함시킬 수있습니다 사람의 생명을 영향을 미칠 수있는 기능이 외계는 또한 데이터와 같은 코드를 죽이지는 외국인을 미칠 수있는 생명 둘 중 하나를 제거합니다. 개체를 구성하는 근본적인 요소는 변수와 메소드를합니다. 변수는 데이터를 회원, 또는 특성과 관련된 데이터를 포함하는 개체와 같은 텍스트 문자열이나 숫자 값합니다. 메소드의 기능을 제공합니다 개체와의 특성과 상호 작용하는 데 사용될 수있습니다. 방법은 기능이나 절차에라고도합니다 다양한 프로그래밍 언어를합니다. 개체 - 지향 프로그래밍 자바 자바는 클래스에서 개체의 구조를 정의하는 데 사용합니다. 클래스를 3 개의 주요 구성 요소로 분해 수있습니다 : 생성자, 속성 (등록 정보), 그리고 방법을합니다. 이제 보라의 한 예입니다 봅시다 클래스 구조를 포함하는 매우 간단하고 더 이상 우리가 떠나기 전에 이러한 세 부분으로 구성됩니다. 예를 들어, 수업 수있다는 사람을 미칠 수있는 방법을 설명하는 특성과 관련된 한 사람도 그들과 함께합니다. 개체 그런 다음 클래스를 만들 수있는 사람으로부터 당신처럼 아니면 나, 아니면 심지어는 귀하의 파트너 (하는 경우가 없어 파트너, 그럼 다; 당신은 진정한 프로그래머). 순서를 만들려면 개체를, 우리는 먼저 클래스를 만듭니다. 중 하나에 해당 코드를 컴파일에 대한 걱정 마세요 지금 당장; 그냥 앉아 위로를 잡아 커피 한잔, 그리고 일부 기본을 이해하려고 노력합니다. 여기에 우리의 시작 부분은 "사람이"클래스 : 클래스 사람이 () 지금, 지금이 순간, 우리는 한 사람 클래스의 개요 코드를합니다. 처음에 우리는 어떤 특성을 추가해야합니다. 숫자 속성을 추가합시다 수업을 저장하기 위해 한 사람의 시대. 클래스 사람이 (int 나이;) int 스탠드에 대한 키워드를 정수, 숫자 데이터 유형을 대표합니다. 이 시점에서 사람이 수업은 모든 특성도없고 기능 (명확하게 정치 경력을 가리키며). 우리는 다음과 같이이 수업을하는 방법을 추가할 수있습니다하는 나이의 값을 변경하는 데 사용될 수있습니다 : 클래스 사람이 (공공 무효 setage (int newage) (/ /로 설정합니다 연령 = newage 연령에 저장된 값을 newage;) int 나이;) 이제 우리는 사람이 전화를하는 클래스를 포함하고 하나의 속성이 전화를 한 방법을 setage 불리는 나이. setage를 할당하는 방법을 사용할 수있습니다 사람의 나이에 새로운 값을합니다. 또, 걱정하지 마세요 방법을 작동하는 방법에 대해 너무 많은 시간이되고, 귀하의 커피를 마시는 정도로 침착하게해야한다고 지금에 대해서합니다. 순서를 만들려면 개체 (또는 인스턴스를, 그것도 알려진)의 인물 클래스, 생성자를 호출해야합니다. 모든 클래스의 기본 생성자를 포함하는 것이 아무것도 과부하가 될 수있습니다 많은 생성자를 유형, 우리를 보게 될 것이다. 생성자생성자는 개체가 만들어집니다 때 전화를하는 방법과 상태를 개체를 초기화하는 데 사용됩니다. 생성자의 이름과 같은 이름을 선언해야합니다 클래스에 포함된 그것은이 반환 값 수없습니다. 우리는 이제 두 개의 생성자를 추가하는 사람 클래스 : 클래스 사람이 (공공 사람 () (/ / 기본 생성자 연령은 0으로 설정됩니다 기본적으로) 공공 사람 (int newage) (/ / contructor의 나이를 지정 값을 설정하는 setage (newage);) 공공 무효 setage (int newage ) (/ /로 설정합니다 연령 = newage 연령에 저장된 값을 newage;) int 나이;) 인간 개체에 대한 참조를하실 수있습니다 다음과 같이 선언합니다 : 사람이 billygate; 생성자에게 전화를 작성해야합니다 형식의 새 개체를 만드는 사람, 새로운 개체를 참조 billygate에 변수를 할당합니다. 한 클래스에 대한 생성자가 선언되지 않을 경우, 기본 생성자를 사용할 수있습니다 매개 변수와 그 걸리지 않습니다 기본 개체를 만듭니다 클래스를 간단하게 호출할 때. 우리의 코드 발췌 문장을 만들어 우리가 우리 자신의 기본 생성자 사람 (),이 포함되지 코드, 두 번째는 생성자를라고도 부르는 사람 (int newage), 연령의 값을 설정하는 코드를 포함에 반대하는 사람이 새 시대에 의해 지정된 매개 변수 값합니다. 참고 : 두 번째 생성자를 선언했다 및 생략 우리는 단지 첫 번째 생성자의 기본 생성자를 더 이상 사용할 수있는가 없었다면이 걸리지 않습니다 매개 변수가있는 경우에만 존재하는 클래스 생성자를 기본값으로 어떤 사용자 - 정의된 생성자가 포함되지 않습니다. 사람이 클래스에서 개체를 만들려면, 우리는 다음과 같은 회선을 사용할 수의 코드 : / /를 사용하여 두 번째 생성자로 설정 나이 값을 21 명 billygate = 새 인물 (21); 이 줄의 코드를 선언 billygate 불리는 유형의 식별자입니다 사람과 만들어집니다 "새로운"두 번째 생성자를 사용하는 사람이 객체 클래스를 초기화하는 사람은 개체, 새로운 사람 개체에 값을 설정의 나이는 21. 우리는 다음과 같은 코드를 대신 사용하여 볼 수도있습니다, 이번에는 첫 번째 (기본) 생성자를 사용하여 해당 개체를 초기화하고 다음 값을 설정합니다 나이 setage 방법을 사용하여, 이것은 새로 만들어진 객체의 일원합니다. / /를 사용 사람이 첫 번째 생성자를 billygate = 새로운 사람 (); / / setage 회원을 사용 연령을 21으로 설정 billygate.setage (21); / /로 설정합니다 연령을 21의 값을 우리의 나이에도 액세스하실 수있습니다 값을 매개 변수를 설정 직접적으로 다음과 같습니다 : billygate.age = 21; 참고 : 두 개의 생성자와 동일한 서명을 가질 수없습니다. 지금까지 우리가 인스턴스화을 본적이있는가를 설명하는 데 사용되는 용어의 개체 또는 인스턴스를 생성하는 클래스. 다음과 같은 그림이 조금 더 나은 이해를 도와 줄 잘만 있으므로 사람이 클래스와 객체 사이의 관계를 보여줍니다으로부터 만들어집니다. 개체 회원은 회원이 해당 개체가 만들어집니다 때 만들어집니다. 즉, 한번에 액세스할 수있습니다 개체가 만들어졌습니다에만 존재하지 않습니다 왜냐면 그렇지 않으면합니다. 예제 우리가 방금 본 사람이 참조하는 클래스의 인스턴스를 만듭니다 billygate합니다. 우리는 더 많은 인스턴스를 만들 수있는 사람도 수업합니다. 만약 우리가 말하기를 우리가 billygate 개체가있는 단 한 사람은 없을 거라고 생각을 만들려이 필요하거나; 나서 우리는 그 사람 클래스 개념을 스크랩하고 단순히 billygate 대신 전화를 새 클래스를 만듭니다. 클래스 billygate (공공 정적 무효 setage (int newage) (/ /로 설정합니다 연령 = newage 연령에 저장된 값을 newage;) int 정적 연령;) 주의 사항 우리가 정적을 제거하고 추가 키워드를 받들 회원의 두 정의합니다. 이것은 우리가 더 이상 필요하지 않습니다이 클래스의 인스턴스를 생성합니다. 우리는 정적 멤버에 액세스할 수있습니다를 사용하여 클래스 이름을 그냥합니다. 예를 들면 : billygate.setage (21); 이러한 정적 멤버가로 알려진 클래스 회원, 반면에 우리는 개체 멤버하기 전에합니다. 지금까지 우리가 사용하는 예제 중 하나를 개체만을 포함할 회원 또는 클래스 멤버, 물론 둘 다 사용하실 수있습니다. 그리고 지금 우리의 사람이 수업 복귀하자가 정적 속성을 추가합니다. 정적 특성을해야합니다가 될만한 모든 사람이 개체는 우리가 만드는 동일합니다. 그래서 우리는 정수 변수를 추가할 수있습니다 불리는 daysinayear합니다. 클래스 사람이 (/ / 코드를 정적 int하기 전에 daysinayear;) 우리는 전에 daysinayear의 특성에 액세스할 수있는 사람 클래스에서 어떤 물체를 만들합니다. 예를 들면 : person.daysinayear = 365; 만약 우리가 새 인스턴스를 만드는 사람, 그때, 그들의 정적 변수가 너무 daysinayear에 액세스할 수있습니다. 사람이 glennmurphy = 새 인물 (21); 인물 andrewmulholland = 새 사람 (20); glennmurphy.daysinayear = 366; / / 그것은 비약 년 system.out.println (andrewmullholland.daysinayear); 이 코드는 두 개의 새 인스턴스를 만드는 사람, 참조하는 glennmurphy 및 andrewmulholland합니다. the glennmurphy 개체를 다음으로 366 세트의 정적 변수를 daysinayear과 andrewmulholland 개체는 액세스 daysinayear, 인쇄를 콘솔 창 값을합니다. 전화 번호가 인쇄됩니다 366을 콘솔 창이 즉, daysinayear 혼자있는 개체 중 하나에 속하지 않습니다; 그것 속한 모든 이들, 그리고 하나에서 변경 사항에 영향을 미칠 다른합니다. 메모리를 포함하는 부분이 하나 밖에없는 그들은 모두 참조할 수있는 366의 값을합니다. 간단히 말해서, 그것은 동일한 특성을하지만 액세스합니다. 참조에 액세스하려면 개체 (기억이 그들은 클래스 인스턴스)을 자바, 우리가로 알려진 무엇입니까 대한 참조를 사용합니다. 3 참조에서 지금까지 우리가 우리의 코드를 사용 예 : billygate, glennmurphy, 그리고 andrewmulholland합니다. 이들은 실제 개체가 아니라 단순히 우리가 만들어집니다 그러나 참조 (핸들이라고도 함)를 개체를 창조합니다. 다음과 같은 코드를 타고 예를 들면 : andrewmulholland = glennmurphy; / / 그는 결코 내 평등 이 코드는 단순히 동일한 개체를 만드는 andrewmulholland 레퍼런스 glennmurphy 참조; 따라서 동일한 개체에 액세스할 수 다음 중 하나를 사용하여 두 개의 참조합니다. 평등을 20의 나이에 해당 개체 참조는 이제 한 번하는 andrewmulholland 분실,하지만 걱정하지 마세요 해방에 대해서 메모리; 이것은 자바의 쓰레기 수거하여 처리합니다. 이것은 페레스 문서가 추가되지 가브리엘라 c.
|
|||
|