Android 용 C # 학습 2 : 클래스 및 루프

작가: John Stephens
창조 날짜: 24 1 월 2021
업데이트 날짜: 29 6 월 2024
Anonim
Android Studio가있는 Android의 종속 스피너
동영상: Android Studio가있는 Android의 종속 스피너

콘텐츠


C # 학습에 대한이 Android 자습서 시리즈 중 하나에서는 C # 프로그래밍의 기본 사항을 살펴 보았습니다. 메소드 (특정 작업을 수행하는 코드 그룹), 일부 기본 구문 (예 : 세미콜론 필요), 변수 (데이터를 저장하는 컨테이너) 및 흐름 제어를위한 "if 문"(값에 의존하는 분기 코드) 변수). 또한 문자열과 같은 변수를 메소드 간 인수로 전달하는 방법도 보았습니다.

아직 읽지 않았다면 다시 돌아가서 살펴보십시오.

이 시점에서 퀴즈, 데이터를 저장하는 앱 또는 계산기와 같은 기본 콘솔 앱을 만들 수 있어야합니다.

두 번째 부분에서는 루프와 같은 몇 가지 기본 사항을 다루고 클래스를 만들고 상호 작용하는 방법을 살펴보면서 좀 더 야심 차게 다룰 것입니다. 즉, Android 개발을 시작하고 그 격차를 해소하는 방법을 알 수 있습니다. C #을 배우고 싶다면 계속 읽으십시오!

클래스 및 객체 지향 프로그래밍 이해

1 부에서 간단히“객체”를 설명하기 위해“클래스”를 사용하여 언어를 중심으로하는 객체 지향 프로그래밍의 기본 사항을 설명했습니다. 객체는 많은 것을 나타낼 수있는 데이터 조각입니다. 봄과 같은 게임 세계에서 문자적인 대상이거나 플레이어의 점수를 처리하는 관리자와 같이 더 추상적 인 것일 수 있습니다.

단일 클래스는 여러 객체를 만들 수 있습니다. 따라서 하나의 "적"클래스를 작성할 수도 있지만 나쁜 사람으로 가득 찬 전체 레벨을 생성 할 수 있습니다. 이것은 객체 지향 프로그래밍을 사용하는 것의 큰 장점 중 하나입니다. 그렇지 않으면, 다수의 적의 행동을 처리하는 유일한 방법은 여러 가지 개별 방법을 사용하는 것입니다. 각 방법에는 나쁜 사람이 다른 상황에서 어떻게 행동해야하는지에 대한 지침이 포함되어 있습니다.


이것이 여전히 머리를 돌리기가 약간 까다 롭다면 실제로 알아야 할 것은 객체에 속성과 동작이 있다는 것입니다. 이것은 실제 객체와 같습니다. 예를 들어, 토끼에는 크기, 색상 및 이름과 같은 속성이 있습니다. 점프, 앉기, 식사와 같은 행동을합니다. 기본적으로 속성은 변수이고 동작은 메서드입니다.

우리가 마지막 강의에서 만든 프로그램은 수업의 예이기도합니다. 여기서 설명하는 "개체"는 일종의 암호 제어 시스템입니다. 가지고있는 속성은 문자열 UserName이며, 동작은 NewMethod입니다 (사용자 이름 확인 및 인사말).

그렇다면아직도 조금 혼란 스럽지만, 우리의 머리를 잡을 수있는 유일한 방법은 새로운 클래스를 만드는 것입니다.

새로운 수업 만들기

C #을 배우려면 새 수업을 만드는 방법을 알아야합니다. 다행히도 이것은 매우 쉽습니다. Project 메뉴 항목을 클릭 한 다음“+ Add Class”를 선택하십시오.

“C #”을 선택하고“토끼”라고 부릅니다. 우리는이 클래스를 사용하여 개념적 토끼를 만들 것입니다. 내가 무슨 뜻인지 곧 알 수 있습니다.

오른쪽의 솔루션 탐색기에서 체크인하면 Program.cs 바로 아래에 Rabbit.cs라는 새 파일이 생성 된 것을 볼 수 있습니다. 잘하셨습니다. Android 용 C #을 배우려는 경우 알아야 할 가장 중요한 사항 중 하나입니다.


새로운 Rabbit.cs 파일에는 이전과 동일한 "boilerplate"코드가 있습니다. 여전히 동일한 네임 스페이스에 속하며 파일과 이름이 같은 클래스가 있습니다.

네임 스페이스 ConsoleApp2 {클래스 토끼 {}}

이제 토끼에게 '생성자'라고하는 속성을 몇 가지 줄 것입니다.

생성자는 객체를 초기화하는 클래스의 메서드이므로 처음 만들 때 속성을 정의 할 수 있습니다. 이 경우 다음과 같이 말합니다.

네임 스페이스 ConsoleApp2 {클래스 Rabbit {공개 문자열 RabbitName; 공개 문자열 RabbitColor; 공공 int RabbitAge; 공개 int RabbitWeight; 공개 토끼 (문자열 이름, 문자열 색상, 연령, 무게) {RabbitName = 이름; RabbitColor = 색상; RabbitAge = 연령; 토끼 무게 = 무게; }}}

이를 통해 다른 클래스에서 새 토끼를 만들고 속성을 정의 할 수 있습니다.

토끼 토끼 1 = 새 토끼 ( "Jeff", "brown", 1, 1);

이제 저는 소급 가중치에서 소수를 허용하기 위해 부동 또는 이중이어야 함을 알고 있지만 아이디어를 얻습니다. 토끼를 가장 가까운 정수로 반올림합니다.

토끼를 쓸 때 올바른 인수를 전달하라는 메시지가 표시됩니다. 이런 식으로 클래스는 거의 코드의 일부가되었습니다.

믿거 나 말거나,이 코드는 토끼를 만들었습니다! 그래픽이 없어서 토끼를 볼 수는 없습니다.

그리고 그것을 증명하기 위해 다음 줄을 사용할 수 있습니다.

Console.WriteLine (Rabbit1.RabbitName);

그러면 방금 만든 토끼의 이름이 나타납니다!

마찬가지로 토끼의 무게를 늘릴 수 있습니다.

토끼 1. 토끼 무게 ++; Console.WriteLine (Rabbit1.RabbitName + "무게"+ Rabbit1.RabbitWeight + "kg");

무언가 끝에 "++"를 추가하면 값이 하나씩 증가합니다 ( "RabbitWeight = RabbitWeight + 1"이라고 쓸 수도 있음).

우리 학급은 우리가 원하는만큼 많은 토끼를 만들 수 있기 때문에 각각 고유 한 특성을 가진 많은 다른 토끼를 만들 수 있습니다.

행동 추가

그런 다음 토끼에게 어떤 행동을하도록 선택할 수도 있습니다. 이 경우에 먹자.

이를 위해“Eat”라는 공개 방법을 만들면 토끼의 무게도 점차 증가하면서 먹는 소리가납니다.

public void Eat () {Console.WriteLine (RabbitName + ": 니블 니블!"); RabbitWeight ++; }

'공개'는 수업 외부에서 액세스 할 수 있음을 의미하고 '공개'는 메소드가 데이터를 반환하지 않음을 의미합니다.

그런 다음 Program.cs 내부에서이 메서드를 호출하면 선택한 토끼가 먹고 커질 수 있습니다.

Console.WriteLine (Rabbit1.RabbitName + "무게"+ Rabbit1.RabbitWeight + "kg"); Rabbit1.Eat (); Rabbit1.Eat (); Rabbit1.Eat (); Console.WriteLine (Rabbit1.RabbitName + "무게"+ Rabbit1.RabbitWeight + "kg");

그러면 Jeff가 세 번 먹게되고, 그 소리를 듣고 그가 커졌다는 것을 알 수 있습니다! 우리가 현장에 또 다른 토끼가 있다면, 그들은 또한 먹을 수있었습니다!

Console.WriteLine (Rabbit1.RabbitName + "무게"+ Rabbit1.RabbitWeight + "kg"); Console.WriteLine (Rabbit2.RabbitName + "무게"+ Rabbit2.RabbitWeight + "kg"); Rabbit1.Eat (); Rabbit1.Eat (); Rabbit2.Eat (); Rabbit2.Eat (); Rabbit1.Eat (); Console.WriteLine (Rabbit1.RabbitName + "무게"+ Rabbit1.RabbitWeight + "kg"); Console.WriteLine (Rabbit2.RabbitName + "무게"+ Rabbit2.RabbitWeight + "kg");

토끼처럼

각 토끼에 대한 명령을 수동으로 작성해야하며 원하는만큼 토끼 수를 동적으로 늘릴 수 없기 때문에 많은 개체를 처리하는 것은 특히 우아한 방법이 아닙니다. 우리는 C #을 배우기 만하는 것이 아니라 깨끗한 C # 코드를 작성하는 방법을 배우기를 원합니다!

이것이 우리가 목록을 사용하는 이유입니다. 목록은 모음입니다. 기본적으로 다른 변수에 대한 참조를 포함하는 변수 자체. 이 경우 토끼 목록을 만들 수 있습니다. 좋은 소식은 이것이 매우 이해하기 쉽다는 것입니다.

명부 RabbitList = 새 목록(); RabbitList.Add (새 토끼 ( "Jeff", "brown", 1, 1)); RabbitList.Add (새 토끼 ( "Sam", "white", 1, 2));

이렇게하면 이전과 같이 새 토끼가 생성되지만 동시에 토끼가 목록에 추가됩니다. 마찬가지로 다음과 같이 말할 수 있습니다.

Rabbit Rabbit3 = 새 토끼 ( "Jonny", "orange", 1, 1); RabbitList.Add (토끼 3);

어느 쪽이든, 개체가 생성되어 목록에 추가되었습니다.

다음과 같이 토끼 목록에서 정보를 편리하고 우아하게 반환 할 수 있습니다.

foreach (토끼리스트의 var Rabbit) {Console.WriteLine (Rabbit.RabbitName + "무게"+ Rabbit.RabbitWeight + "kg"); }

알 수 있듯이“foreach”는 목록의 모든 항목에 대해 한 단계 씩 반복한다는 것을 의미합니다. 다음과 같이 목록에서 정보를 검색 할 수도 있습니다.

RabbitList.Eat ();

여기서 "1"은 색인이며, 이는 위치 1에 저장된 정보를 의미합니다. 그런 일이 실제로는 둘째 토끼 추가 : 프로그래밍 목록은 항상 0부터 시작하기 때문에

피보나치

아직 추측하지 못한 경우이 모든 정보를 사용하여 피보나치 수열을 만들 것입니다. 결국 Android 용 C #을 배우는 경우 실제로 모든 이론에서 흥미로운 것을 할 수 있어야합니다!

피보나치 수열에서 토끼는 방에서 닫히고 번식합니다. 그들은 한 달 후에 번식 할 수 있으며,이 시점에서 성적으로 성숙합니다 (올바른 토끼 생물학인지 확인할 수 없습니다). 각각의 토끼 커플이 그 이후로 한 달에 한 번 생산할 수 있고 두 개의 자손을 생산할 수 있다면 다음과 같습니다.

1,1,2,3,5,8,13,21,34

마술처럼 시퀀스의 각 숫자는 이전에 추가 한 두 숫자의 값입니다. 과학에 따르면 이것은 큰 문제입니다.

멋진 점은 복제 할 수 있다는 것입니다.

먼저 새로운 개념 인 루프를 도입해야합니다. 조건이 충족 될 때까지 동일한 코드를 반복해서 반복합니다. “for”루프를 사용하면 변수를 만들고, 충족시키려는 조건을 설정 한 다음 그 변수를 조작하여이 작업을 수행 할 수 있습니다.

for (int months = 0; months <100; months ++) {// 무엇을하세요}

따라서 months라는 정수를 만들고 100이 될 때까지 반복합니다. 그런 다음 개월 수를 1 씩 늘립니다.

이것이 피보나치 시퀀스가 ​​될 수있는 방법을보고 싶습니까? 보다:

네임 스페이스 ConsoleApp2 {클래스 프로그램 {static void Main (string args) {List RabbitList = 새 목록(); RabbitList.Add (새 토끼 ( "Jeff", "brown", 0, 1)); RabbitList.Add (새 토끼 ( "Sam", "white", 0, 1)); for (int months = 0; months <10; months ++) {int firstRabbit = 0; int timesToReproduce = 0; foreach (토끼리스트의 var Rabbit) {Console.Write ( "R"); if (Rabbit.RabbitAge> 0) {if (firstRabbit == 0) {firstRabbit = 1; } else {firstRabbit = 0; timesToReproduce ++; }} Rabbit.RabbitAge ++; } for (int i = 0; i <timesToReproduce; i ++) {RabbitList.Add (new Rabbit ( "NewBabyRabbit", "brown", 0, 1)); RabbitList.Add (새 토끼 ( "NewBabyRabbit", "brown", 0, 1)); Console.Write ( "r"); Console.Write ( "r"); } Console.WriteLine ( "---"+ RabbitList.Count / 2 + "토끼 쌍이 있습니다!"); Console.WriteLine ( ""); } Console.WriteLine ( "모두 완료되었습니다!"); Console.ReadKey (); }}}

좋아, 생각보다 힘들었 어!

이 모든 과정을 거치지는 않겠지 만 이미 배운 내용을 사용하여 역 엔지니어링 할 수 있어야합니다.

이 작업을 수행하는 더 우아한 방법이 확실히 있습니다. 저는 수학자가 아닙니다. 그러나 나는 그것이 매우 재미있는 운동이라고 생각하며, 일단 당신이 그것을 할 수 있다면, 당신은 큰 시간을 보낼 준비가 된 것입니다.

그건 그렇고 다른 접근법을보고 싶습니다!

여기서 어디로 가나 요? Android 용 C #을 배우는 방법

벨트에 대한 모든 지식을 갖추고 있으면 더 큰 일을 시작할 수 있습니다. 특히 Xamarin 또는 Unity에서 C #을 사용하여 Android 프로그래밍을 시작하십시오.

Google, Microsoft 및 Unity에서 제공하는 클래스를 사용하기 때문에 다릅니다. "RigidBody2D.velocity"와 같은 것을 작성할 때 수업에서 속성에 액세스하는 것입니다 전화 RigidBody2D. RigidBody2D를 직접 만들지 않아서 볼 수 없다는 점만 다릅니다.

이 C #을 사용하면 이러한 옵션 중 하나로 뛰어 들어 무슨 일이 일어나고 있는지 이해하는 데 큰 도움이됩니다.

  • Xamarin으로 Android 앱을 만드는 방법
  • Unity로 7 분 만에 최초의 Android 게임을 빌드하십시오.

다음 강의에서는 U 턴을 사용하여 Windows 앱을 대신 구축하는 방법도 살펴 보겠습니다.

현재 영국과 일부 매장에서 거의 12 개의 Xiaomi 스마트 폰을 영국에서 구입할 수 있습니다.Pocophone F1과 다양한 Mi 및 Redmi 장치가 판매됩니다.일부 장치에는 MIUI를 싫어하는 사람들에게 어필 할 Android One이 있습니다.Xiaomi는 지난 몇 년 동안 전 세계를 폭풍으로 몰아 넣었지만 그 기간 동안 영국에 속지 않았습니다. ...

2018 년 중반 Pocophone F1의 출시는 많은 주목을 받았습니다. 모든 계정에서 새로운 Xiaomi 하위 브랜드의 첫 번째 전화는 큰 인기를 얻었으며 napdragon 845 칩을 포함한 6.18 인치 디스플레이와 4,000mAh 배터리를 포함한 고급 하드웨어로 포장되었습니다. . 300 달러에 불과한 가격으로 출시 된 전화기에있는 모든 것. 따라...

우리는 당신에게 추천합니다