![Android Development for Beginners - Full Course](https://i.ytimg.com/vi/fis26HvvDII/hqdefault.jpg)
เนื้อหา
- การทำความเข้าใจคลาสและการเขียนโปรแกรมเชิงวัตถุ
- สร้างคลาสใหม่
- การเพิ่มพฤติกรรม
- ที่มันเหมือนกระต่าย
- fibonacci
- เราไปจากที่นี่ที่ไหน วิธีการเรียนรู้ C # สำหรับ Android
ในส่วนที่หนึ่งของชุดการสอน Android นี้เกี่ยวกับการเรียนรู้ C # เราดูที่พื้นฐานขั้นพื้นฐานของการเขียนโปรแกรม C # เราครอบคลุมวิธีการ (กลุ่มของรหัสที่ทำงานเฉพาะ), ไวยากรณ์พื้นฐานบางอย่าง (เช่นความต้องการสำหรับเซมิโคลอน), ตัวแปร (คอนเทนเนอร์ที่เก็บข้อมูล), และ“ if statement” สำหรับการควบคุมการไหล (การแยกรหัสที่ขึ้นอยู่กับค่า ของตัวแปร) นอกจากนี้เรายังเห็นวิธีการส่งผ่านตัวแปรเช่นสตริงเป็นข้อโต้แย้งระหว่างวิธีการ
คุณควรย้อนกลับไปดูว่าถ้าคุณยังไม่ได้อ่าน
ณ จุดนี้คุณควรจะสามารถสร้างแอพคอนโซลขั้นพื้นฐานบางอย่างเช่นแบบทดสอบแอพที่เก็บข้อมูลหรือเครื่องคิดเลข
ในส่วนที่สองเราจะมีความทะเยอทะยานเพิ่มขึ้นเล็กน้อยครอบคลุมพื้นฐานเพิ่มเติมบางอย่างเช่นลูปและสำรวจวิธีการสร้างและโต้ตอบกับชั้นเรียน นั่นหมายความว่าเราจะสามารถเริ่มการพัฒนา Android และดูวิธีลดช่องว่างนั้น อ่านต่อหากคุณต้องการเรียนรู้ C # อย่างแท้จริง!
การทำความเข้าใจคลาสและการเขียนโปรแกรมเชิงวัตถุ
สั้น ๆ ในส่วนที่หนึ่งเราอธิบายพื้นฐานของการเขียนโปรแกรมเชิงวัตถุซึ่งหมุนรอบภาษาโดยใช้ "คลาส" เพื่ออธิบาย "วัตถุ" วัตถุเป็นชิ้นส่วนของข้อมูลซึ่งสามารถเป็นตัวแทนของหลายสิ่ง อาจเป็นวัตถุที่แท้จริงในโลกของเกมอย่างฤดูใบไม้ผลิหรืออาจเป็นสิ่งที่เป็นนามธรรมมากกว่าเช่นผู้จัดการที่จัดการคะแนนของผู้เล่น
คลาสเดียวสามารถสร้างวัตถุหลายรายการ ดังนั้นคุณอาจเขียนคลาส“ ศัตรู” หนึ่งชั้น แต่สามารถสร้างทั้งระดับที่เต็มไปด้วยคนเลว นี่คือหนึ่งในผลประโยชน์ที่ยิ่งใหญ่ของการใช้การเขียนโปรแกรมเชิงวัตถุ มิฉะนั้นวิธีเดียวที่จะจัดการกับพฤติกรรมของศัตรูจำนวนมากคือการใช้วิธีการของแต่ละคนจำนวนมากแต่ละคนมีคำแนะนำสำหรับวิธีการที่คนเลวควรทำงานในสถานการณ์ที่แตกต่างกัน
หากสิ่งนี้ยังเป็นเรื่องยุ่งยากเล็กน้อยที่จะนำคุณไปรอบ ๆ สิ่งที่คุณต้องรู้จริงๆก็คือวัตถุนั้นมีคุณสมบัติและพฤติกรรม มันเหมือนกับของจริง ตัวอย่างเช่นกระต่ายมีคุณสมบัติเช่นขนาดสีและชื่อ และมันมีพฤติกรรมเช่นการกระโดดการนั่งและการกิน โดยพื้นฐานแล้วคุณสมบัติคือตัวแปรและพฤติกรรมเป็นวิธีการ
โปรแกรมที่เราสร้างขึ้นในบทเรียนสุดท้ายเป็นตัวอย่างของชั้นเรียนด้วย "วัตถุ" ที่เรากำลังอธิบายนี่คือระบบควบคุมรหัสผ่านบางประเภท คุณสมบัติที่มีคือชื่อผู้ใช้ของสตริงและลักษณะการทำงานของมันคือ NewMethod (ตรวจสอบชื่อของผู้ใช้และทักทายพวกเขา)
ถ้าเป็นยังคง ค่อนข้างสับสนวิธีเดียวที่จะได้รับหัวของเราคือการสร้างชั้นใหม่หรือสองตัวเรา!
สร้างคลาสใหม่
หากคุณกำลังจะเรียนรู้ C # คุณจะต้องรู้วิธีสร้างคลาสใหม่ โชคดีที่มันง่ายมาก เพียงคลิกรายการเมนูโครงการแล้วเลือก“ + เพิ่มคลาส”
เลือก“ C #” แล้วเรียกว่า“ กระต่าย” เราจะใช้คลาสนี้เพื่อสร้างกระต่ายที่มีแนวคิด คุณจะเห็นสิ่งที่ฉันหมายถึงในเวลา
หากคุณเช็คอิน Solution Explorer ทางด้านขวาคุณจะเห็นว่ามีการสร้างไฟล์ใหม่ที่ชื่อว่า Rabbit.cs ใต้ Program.cs ดีมาก - เป็นหนึ่งในสิ่งสำคัญที่สุดที่ควรทราบหากคุณต้องการเรียนรู้ C # สำหรับ Android!
ไฟล์ Rabbit.cs ใหม่มีรหัส“ สำเร็จรูป” บางส่วนเหมือนเดิม มันยังคงเป็นของเนมสเปซเดียวกันและมีคลาสที่มีชื่อเดียวกันกับไฟล์
เนมสเปซ ConsoleApp2 {คลาส Rabbit {}}
ตอนนี้เราจะให้คุณสมบัติของกระต่ายกับสิ่งที่เราเรียกว่า "ผู้สร้าง"
ตัวสร้างเป็นวิธีการในชั้นเรียนที่เริ่มต้นวัตถุช่วยให้เราสามารถกำหนดคุณสมบัติของมันเมื่อเราสร้างมันเป็นครั้งแรก ในกรณีนี้นี่คือสิ่งที่เราจะพูด:
Namespace ConsoleApp2 {คลาส Rabbit {สตริงสาธารณะ RabbitName; ประชาชนสตริง RabbitColor; แรบบิท int สาธารณะ RabbitWeight สาธารณะในที่สาธารณะ กระต่ายสาธารณะ (ชื่อสตริง, สีสตริง, อายุ, น้ำหนัก) {RabbitName = ชื่อ; RabbitColor = color; RabbitAge = อายุ; RabbitWeight = น้ำหนัก; }}}
สิ่งนี้ทำให้เราสามารถสร้างกระต่ายใหม่จากคลาสอื่นและกำหนดคุณสมบัติของมันในขณะที่เราทำ:
Rabbit Rabbit1 = กระต่ายใหม่ (“ Jeff”,“ brown”, 1, 1);
ตอนนี้ฉันรู้ว่าน้ำหนักย้อนหลังน่าจะเป็นทุ่นหรือสองเท่าเพื่อให้ได้ทศนิยม แต่คุณเข้าใจแล้ว เราจะปัดเศษกระต่ายของเราเป็นจำนวนเต็มที่ใกล้ที่สุด
คุณจะเห็นขณะที่คุณเขียนกระต่ายออกมาคุณจะได้รับพร้อมท์ให้ส่งผ่านอาร์กิวเมนต์ที่ถูกต้อง ด้วยวิธีนี้ชั้นของคุณได้กลายเป็นส่วนหนึ่งของรหัสเกือบ
เชื่อหรือไม่รหัสนี้สร้างกระต่าย! คุณไม่เห็นกระต่ายของคุณเพราะเราไม่มีกราฟิก แต่มันอยู่ที่นั่น
และเพื่อพิสูจน์คุณสามารถใช้บรรทัดนี้:
Console.WriteLine (Rabbit1.RabbitName);
นี่จะบอกชื่อของกระต่ายที่คุณเพิ่งสร้าง!
เราสามารถเพิ่มน้ำหนักกระต่ายของเราได้เช่น:
Rabbit1.RabbitWeight ++; Console.WriteLine (Rabbit1.RabbitName + "weighs" + Rabbit1.RabbitWeight + "kg");
โปรดทราบที่นี่ว่าการเพิ่ม“ ++” ที่ส่วนท้ายของบางสิ่งจะเพิ่มมูลค่าของมันทีละหนึ่ง (คุณสามารถเขียน“ RabbitWeight = RabbitWeight + 1”)
เนื่องจากชั้นเรียนของเราสามารถสร้างกระต่ายได้มากเท่าที่เราต้องการเราจึงสามารถสร้างกระต่ายที่แตกต่างกันจำนวนมากแต่ละแห่งมีคุณสมบัติของตัวเอง
การเพิ่มพฤติกรรม
จากนั้นเราอาจเลือกที่จะให้กระต่ายของเรามีพฤติกรรมบางอย่าง ในกรณีนี้ให้พวกเขากิน
ในการทำเช่นนี้เราจะสร้างวิธีการสาธารณะที่เรียกว่า "Eat" และนี่จะทำให้เกิดเสียงการกินในขณะที่เพิ่มน้ำหนักของกระต่ายเพิ่มขึ้น:
โมฆะสาธารณะ Eat () {Console.WriteLine (RabbitName + ": Nibble nibble!"); RabbitWeight ++; }
โปรดจำไว้ว่า "สาธารณะ" หมายถึงสามารถเข้าถึงได้จากนอกห้องเรียนและ "โมฆะ" หมายถึงวิธีที่ไม่ส่งคืนข้อมูลใด ๆ
จากภายใน Program.cs เราจะสามารถเรียกวิธีนี้ได้ซึ่งจะทำให้กระต่ายที่เราเลือกกินและใหญ่ขึ้น:
Console.WriteLine (Rabbit1.RabbitName + "weighs" + Rabbit1.RabbitWeight + "kg"); Rabbit1.Eat (); Rabbit1.Eat (); Rabbit1.Eat (); Console.WriteLine (Rabbit1.RabbitName + "weighs" + Rabbit1.RabbitWeight + "kg");
นั่นจะทำให้ Jeff กินสามครั้งจากนั้นเราจะได้ยินและจะเห็นว่าเขาใหญ่ขึ้น! หากเรามีกระต่ายอีกตัวบนฉากพวกเขาก็สามารถกินได้เช่นกัน!
Console.WriteLine (Rabbit1.RabbitName + "weighs" + Rabbit1.RabbitWeight + "kg"); Console.WriteLine (Rabbit2.RabbitName + "weighs" + Rabbit2.RabbitWeight + "kg"); Rabbit1.Eat (); Rabbit1.Eat (); Rabbit2.Eat (); Rabbit2.Eat (); Rabbit1.Eat (); Console.WriteLine (Rabbit1.RabbitName + "weighs" + Rabbit1.RabbitWeight + "kg"); Console.WriteLine (Rabbit2.RabbitName + "weighs" + Rabbit2.RabbitWeight + "kg");
ที่มันเหมือนกระต่าย
นี่ไม่ใช่วิธีที่สวยงามเป็นพิเศษในการจัดการกับวัตถุจำนวนมากเนื่องจากเราจำเป็นต้องเขียนคำสั่งสำหรับกระต่ายแต่ละตัวด้วยตนเองและไม่สามารถเพิ่มจำนวนกระต่ายได้ตามที่เราต้องการ เราไม่ต้องการเรียนรู้ C # - เราต้องการเรียนรู้วิธีการเขียนโค้ด C # สะอาด!
นี่คือเหตุผลที่เราอาจใช้รายการ รายการคือชุด; ตัวแปรเองที่โดยทั่วไปมีการอ้างอิงถึงตัวแปรอื่น ๆ ในกรณีนี้เราอาจสร้างรายชื่อกระต่ายและข่าวดีก็คือว่ามันเข้าใจง่ายมาก:
รายการ สิ่งนี้จะสร้างกระต่ายใหม่เหมือนก่อน แต่เพิ่มกระต่ายลงในรายการพร้อมกัน เราสามารถพูดสิ่งนี้อย่างเท่าเทียมกัน: Rabbit Rabbit3 = กระต่ายใหม่ ("จอนนี่", "ส้ม", 1, 1); RabbitList.Add (Rabbit3); ไม่ว่าจะด้วยวิธีใดวัตถุถูกสร้างและเพิ่มในรายการ นอกจากนี้เรายังสามารถส่งคืนข้อมูลจากรายการกระต่ายของเราได้อย่างสะดวกและสง่างามด้วยวิธีนี้: foreach (var Rabbit in RabbitList) {Console.WriteLine (Rabbit.RabbitName + "weighs" + Rabbit.RabbitWeight + "kg"); } ในขณะที่คุณสามารถคิดออก "foreach" หมายความว่าคุณทำซ้ำขั้นตอนหนึ่งสำหรับทุกรายการในรายการ คุณยังสามารถดึงข้อมูลจากรายการของคุณเช่นนี้: RabbitList.Eat (); นี่คือ“ 1” คือดัชนีซึ่งหมายความว่าคุณกำลังอ้างถึงข้อมูลที่เก็บไว้ที่ตำแหน่งที่หนึ่ง มันเกิดขึ้นจริง ๆ แล้วเป็น ที่สอง กระต่ายที่คุณเพิ่ม: เนื่องจากรายการในการเขียนโปรแกรมเริ่มต้นที่ 0 เสมอ ในกรณีที่คุณยังไม่ได้เดาตอนนี้เราจะใช้ข้อมูลทั้งหมดนี้เพื่อสร้างลำดับฟีโบนักชี ท้ายที่สุดหากคุณกำลังเรียนรู้ C # สำหรับ Android คุณควรจะสามารถทำสิ่งที่น่าสนใจจริง ๆ กับทฤษฎีทั้งหมดนั้นได้! fibonacci
ตามลำดับฟีโบนักชีกระต่ายถูกขังอยู่ในห้องแล้วปล่อยให้ผสมพันธุ์ พวกเขาสามารถสืบพันธุ์หลังจากหนึ่งเดือนถึงจุดที่พวกเขาเป็นผู้ใหญ่ทางเพศ (ฉันไม่สามารถยืนยันได้ว่านี่เป็นชีววิทยากระต่ายที่ถูกต้อง) หากคู่กระต่ายแต่ละคู่สามารถผลิตเดือนละครั้งตั้งแต่นั้นมาผลิตลูกสองคนนี่คือลักษณะที่ลำดับ:
1,1,2,3,5,8,13,21,34
อย่างน่าอัศจรรย์ตัวเลขแต่ละตัวในลำดับคือค่าของตัวเลขสองตัวก่อนหน้ารวมเข้าด้วยกัน ตามหลักวิทยาศาสตร์แล้วนี่เป็นเรื่องใหญ่
สิ่งที่ยอดเยี่ยมคือเราสามารถทำซ้ำได้
อันดับแรกเราต้องแนะนำแนวคิดใหม่: การวนซ้ำ การทำเช่นนี้จะเป็นการทำซ้ำรหัสเดิมซ้ำแล้วซ้ำอีกจนกระทั่งเป็นไปตามเงื่อนไข การวนลูป“ สำหรับ” ทำให้เราสามารถทำได้โดยการสร้างตัวแปรการตั้งค่าเงื่อนไขที่เราต้องการพบและดำเนินการกับมัน - ทั้งหมดที่กำหนดไว้ในวงเล็บ:
สำหรับ (int เดือน = 0; เดือน <100; เดือน ++) {// ทำอะไรสักอย่าง}
ดังนั้นเราจึงสร้างจำนวนเต็มเรียกว่าเดือนและวนซ้ำจนกว่ามันจะเท่ากับ 100 จากนั้นเราจะเพิ่มจำนวนเดือนโดยหนึ่ง
ต้องการดูว่าสิ่งนี้สามารถกลายเป็นลำดับฟีโบนักชีได้อย่างไร ดูเถิด:
เนมสเปซ ConsoleApp2 {โปรแกรมคลาส {โมฆะหลักคงที่ (สตริง args) {รายการ โอเคนั่นยากกว่าที่ฉันคิดไว้! ฉันจะไม่ดำเนินการทั้งหมด แต่ใช้สิ่งที่คุณได้เรียนรู้มาแล้วคุณควรจะทำวิศวกรรมย้อนกลับได้ มีวิธีที่สง่างามกว่านี้มากในการทำเช่นนี้ - ฉันไม่ใช่นักคณิตศาสตร์ อย่างไรก็ตามฉันคิดว่ามันเป็นการออกกำลังกายที่ค่อนข้างสนุกและเมื่อคุณทำได้คุณก็พร้อมสำหรับครั้งใหญ่ ฉันชอบที่จะเห็นวิธีการอื่นใดโดยวิธี! ด้วยความรู้ทั้งหมดที่อยู่ภายใต้เข็มขัดของคุณคุณพร้อมที่จะเริ่มทำสิ่งที่ใหญ่กว่า โดยเฉพาะอย่างยิ่งคุณพร้อมที่จะเข้าร่วมการเขียนโปรแกรม Android ด้วย C # ใน Xamarin หรือ Unityเราไปจากที่นี่ที่ไหน วิธีการเรียนรู้ C # สำหรับ Android
สิ่งนี้แตกต่างกันเนื่องจากคุณจะใช้คลาสที่จัดทำโดย Google, Microsoft และ Unity เมื่อคุณเขียนบางสิ่งเช่น "RigidBody2D.velocity" สิ่งที่คุณกำลังทำคือเข้าถึงคุณสมบัติจากคลาส เรียกว่า RigidBody2D สิ่งนี้ใช้งานได้เหมือนกันความแตกต่างเพียงอย่างเดียวคือคุณไม่เห็น RigidBody2D เพราะคุณไม่ได้สร้างมันเอง
ด้วย C # นี้ภายใต้เข็มขัดของคุณคุณควรพร้อมที่จะกระโดดลงไปในตัวเลือกเหล่านี้และเริ่มต้นอย่างยิ่งใหญ่เมื่อเข้าใจถึงสิ่งที่เกิดขึ้น:
- วิธีสร้างแอพ Android ด้วย Xamarin
- สร้างเกม Android เกมแรกของคุณใน 7 นาทีด้วย Unity
ในบทเรียนที่กำลังจะมาถึงเราจะพิจารณาว่าคุณสามารถกลับรถและใช้สิ่งนี้เพื่อสร้างแอป Windows แทนได้อย่างไร!