비디오: Awesome iPhone Apps with Objective-C by Zack Chauvin 2024
가끔은 Android 앱에서 Java 객체를 더 많이 수행하고자 할 때가 있습니다. 다음을 고려하십시오. 프린터가 있고 컴퓨터에 프린터를 설치하려고합니다. 유능한 프린터이지만 컴퓨터와 함께 제공되지 않았기 때문에 컴퓨터에 프린터 드라이버 를 설치하는 프로그램이 필요합니다. 드라이버가 없으면 새 프린터는 거대한 문진입니다.
하지만 때로는 장치 드라이버를 찾는 것이 목에 통증이 될 수 있습니다. 프린터와 함께 제공된 디스크를 찾을 수없는 경우 일 수 있습니다.
프린터에 영구적 인 메모리가 내장 된 오프 브랜드 프린터가 한 대 있다고 가정 해보십시오. 프린터를 USB 포트에 연결하면 컴퓨터에 새로운 저장 위치가 표시됩니다. 프린터의 드라이버는 프린터의 내부 메모리에 직접 저장됩니다. 마치 프린터가 스스로를 운전하는 방법을 알고있는 것처럼!
특정 가방의 속성을 표시하려는 경우 가방의 껄끄 러운 세부 사항을 다루는 것을 좋아하지 않는다고 가정 해 보겠습니다. 특히 가방을 표시 할 때 쉼표, 공백 및 필드 이름에 대해 걱정할 필요가 없습니다.
가방. 종류 + ","+ 가방. 무게 + ","+ 999 "봉지. daysAged + ","+ 가방. isDomestic + " n"
자신의 객체 중 하나를 표시하는 방법을
BagOfCheese
클래스에서 결정할 수 있습니다.
MainActivity
클래스에서
BagOfCheese
클래스까지 가방의 필드, 쉼표 및 공백으로 큰 문자열을 이동하십시오. 즉, 각
BagOfCheese
객체는
String
형식으로 자신을 설명해야합니다. 각 가방의 양식에 고유 한 표시 버튼을 제공 할 수 있습니다.
bag1을 호출 할 때 아래의 두 번째 코드 세트에서도 똑같은 일이 발생합니다. toString ()
toString
메소드를 실행합니다. kind
,
weight
,
daysAged
및
isDomestic
- 해당 메서드 호출에 사용 된 값은
bag1
객체의 필드. 마찬가지로,
bag2를 호출 할 때 사용되는 값. toString ()
은
bag2
객체의 필드에있는 값입니다.
package com. allmycode. a09_10;
public class BagOfCheese {
public String kind;
공개 이중 무게;
public int daysAged;
public boolean isDomestic;
public BagOfCheese () {
}
public BagOfCheese (문자열 종류, 두 배중,
int daysAged, 부울 isDomestic) {
친절 = 친절;
이것. 무게 = 무게;
이것. daysAged = daysAged;
이것. isDomestic = isDomestic;
}
public String toString () {
return kind + ","+ weight + ","+ daysAged + ","+ isDomestic + " n";
}
}
자 이제 자루에 가방을 표시해 봅시다.
package com. allmycode. a09_11;
android. 지원하다. v7. 앱. AppCompatActivity;
android. OS. 묶음;
android. 위젯. TextView;
import com. allmycode. a09_10. BagOfCheese;
public class MainActivity는 AppCompatActivity를 확장합니다 (
TextView textView;
@Override
protected void onCreate (Bundle savedInstanceState) {
super. onCreate (savedInstanceState);
setContentView (레이아웃. 활동 _ 메인);
textView = (TextView) findViewById (텍스트 ID보기);
BagOfCheese bag1 = 새 BagOfCheese ("체다", 2.43, 30, true);
BagOfCheese bag2 = 새 BagOfCheese ("Blue", 5. 987, 90, false);
textView. setText ("");
textView. append (bag1. toString ());
textView. append (bag2. toString ());
}
}
첫 번째 코드 세트에서
BagOfCheese
객체는 자체의 매개 변수가없는
toString
메소드를가집니다. 두 번째 집합에서 다음 두 줄은
toString
메서드를 두 번 호출합니다. 하나는
bag1
이고 다른 하나는
bag2
:
textView. append (bag1. toString ());
textView. append (bag2. toString ());
toString
호출은 표시되는 특정 가방에 따라 다르게 동작합니다.
bag1에 전화 할 때. toString ()
를 사용하면
bag1
의 필드 값을 볼 수 있고
bag2를 호출하면 필드 값을 볼 수 있습니다. toString ()
,
bag2
의 필드 값을 볼 수 있습니다.
객체의 메소드 중 하나를 호출하려면 점으로 객체를 참조한 다음 메소드의 이름을 따릅니다.