SlideShare ist ein Scribd-Unternehmen logo
1 von 17
Downloaden Sie, um offline zu lesen
เมท็อ ด

(M
ethod)

C# Programming
เนื้อ หา




ภาพรวมของเมท็อด
การเรียกเมท็อด
การประกาศเมท็อด
โครงสร้า งโปรแกรมภาษา
C#
 โปรแกรมภาษา C# ประกอบด้วยหลาย



เนมสเปซ (namespace)
เนมสเปซหนึ่งประกอบด้วยหลายคลาส
คลาสหนึ่งประกอบด้วยหลายเมท็อด
method1
method2

Class
Namespace
โครงสร้า งโปรแกรม
namespace HelloW {
namespace HelloW {
class HelloWClass {
class HelloWClass {
static void Main () {
static void Main () {
System.Console.WriteLine("Hello World!");
System.Console.WriteLine("Hello World!");
System.Console.ReadLine();
System.Console.ReadLine();
}
}
}
}
}
}



ที่ผ่านมาโปรแกรมเราจะมีเพียงเมท็อด
เดียวเท่านั้นคือ Main
ประโยชน์ข องการใช้เ มท็
อด






ช่วยมองงานทีซับซ้อนเป็นงานย่อย ๆ
่
ทีเล็กลง
่
ช่วยลดการเขียนโค้ดทีซำ้าซ้อน
่
ช่วยซ่อนรายละเอียดของโปรแกรมไว้
ทีส่วนอืน
่
่
ทำาให้โปรแกรมดูมระเบียบและง่ายต่อ
ี
การเข้าใจ
เพิมความสะดวกในการนำาโค้ดที่เขียน
่
ไว้แล้วไปใช้ในโปรแกรมอื่น ๆ
ภาพรวมของเมท็อ ด


โปรแกรมหนึงสามารถประกอบด้วย
่
เมท็อดมากกว่{าหนึง
่
namespace HelloW {
namespace HelloW
class HelloWClass {
class HelloWClass {
static void Main () {
static void Main () {
:
:
}
}

static void Method1() {
static void Method1() {
:
:
}
}

}
}

}
}

static int Method2(int x, double y) {
static int Method2(int x, double y) {
:
:
}
}
ประเภทของเมท็อ ด
ประเภทของเมท็อ ด

เมท็อดที่มีอยู่แล้ว

ส่ง คืน ค่า

ไม่ค น ค่า
ื

เมท็อดที่สร้างขึ้นมาเอง

ส่ง คืน ค่า

ไม่ค น ค่า
ื
ฟัง ก์ช ัน และโปรแกรมย่อ ย



ฟังก์ชน (Function) – เมท็อดทีมีการ
ั
่
ส่งคืนค่า
โปรแกรมย่อย (Subroutine หรือ
Procedure) – เมท็อดทีไม่มีการส่งคืน
่
ค่า
การเรีย กเมท็อ ด


การเรียกเมท็อดซึ่งไม่มการส่งคืนค่า
ี
Console.WriteLine("Hello, World!");
Console.WriteLine("Hello, World!");
Console.Write("Enter N:");
Console.Write("Enter N:");



การเรียกเมท็อดซึ่งมีการส่งคืนค่า
string
string
double
double
double
double

s
s
d
d
p
p

=
=
=
=
=
=

Console.ReadLine();
Console.ReadLine();
double.Parse(Console.ReadLine());
double.Parse(Console.ReadLine());
Math.Pow(3, 5);
Math.Pow(3, 5);
การประกาศเมท็อ ด


ไวยากรณ์

static <return-type> <method-name>(<parameter list>)
static <return-type> <method-name>(<parameter list>)
{
{
<statement-1>;
<statement-1>;
<statement-2>;
<statement-2>;
:
:
}
}



<return-type>






สามารถเป็น

ประเภทข้อมูล C# : int, double, string, ...
ต้อ งมีค
ประเภทข้อมูลซึ่งกำาหนดโดยผู้ใช้: struct/classำา สั่ง return
name, ...
ไม่มการส่งคืนค่า: void
ี

<parameter-list>
 ประกอบด้วย <parameter-type> และ
<parameter-name> เช่น int x, string s


หรือ อาจจะเว้นว่างไว้ หากไม่มี
ตัว อย่า งการประกาศเมท็
อด อด Show10Stars แสดงอักขระ '* ' 10 ตัวบน
 เมท็
หน้าจอvoid Show10Stars() {{
static void Show10Stars()
static
}
}





เมท็อด void ShowStars(int n) กขระ '* ' ตาม
Show10Stars แสดงอั
static void ShowStars(int n) {
static
{
จำ} นวนที่ได้กำาหนด
}า
static double ComputeArea(double w, double h) {
static double ComputeArea(double w, double h) {
}
ComputeArea
}

เมท็อด
สามเหลี่ยม

คำานวนขนาดพื้นที่ของรูป
คำา สั่ง return



ต้องใช้สำาหรับเมท็อดที่ต้องการส่งค่าคือ
ไวยากรณ์:
return <expression>;
return <expression>;



<expression> ต้องสอดคล้องกับประเภท

ข้อมูลที่ส่งคืนซึ่งได้ประกาศไว้ เช่น

static double Average(double x, double y) {
static double Average(double x, double y) {
}
}

return (x+y)/2.0;
return (x+y)/2.0;

ค่า ทีส ่ง
่
คืน

…ต้อ ง
สอดคล้อ งกับ
return type ที่
กำา หนด
พารามิเ ตอร์ข องเมท็อ ด



เมท็อดสามารถประกาศให้รับได้ทั้งหนึ่ง หรือ
หลายพารามิเตอร์
เมื่อเรียกเมท็อด
จำานวนนิพจน์ต้องเท่ากับจำานวนพารามิเตอร์ที่
กำาหนด
class MethodEx {{
class MethodEx
 static void Main() { องสอดคล้องกัน
ประเภทข้อมูล {
static void Main() ต้


}}

int xx == Method1();
int
Method1();
Method2(x, "Hello", 3.5);
Method2(x, "Hello", 3.5);

static int Method1() {{
static int Method1()
::
}}

}}

static void Method2(int a, string x, double b) {{
static void Method2(int a, string x, double b)
::
}}
แบบฝึก หัด











พิจารณาโค้ด
หากทำาการเรียกเมท็อด
ใน
Main() การเรียกเมท็อด
ใดถูกต้อง?
1.
2.
3.
4.
5.
6.
7.

class Quiz {
class Quiz {
static void Main() {
static void Main() {
int x, y; string s, t;
int x, y; string s, t;
:
:
:
:
}
}
static int Hello()
static int Hello()
{
{
:
:
}
}

x = Hello();
Hello("everyone");
Hello();
Hi(s, y);
y = Hi(3, t);
Hi(x, "there");
Hi(x, x);

static void Hi(int a, string b)
static void Hi(int a, string b)
{
{
:
:
}
}

}
}

static void Hi(int a, int b)
static void Hi(int a, int b)
{
{
:
:
}
}
ตัว อย่า งเมท็อ ด #1


เขียนเมท็อด RectArea



รับพารามิเตอร์: int w, int h
คำานวนและส่งคืนค่าพื้นที่ของสีเหลี่ยม
่
ผืนผ้าที่มีความกว้างเท่ากับ w และความ
สูงเท่ากับ h

static int RectArea(int w, int h) {
static int RectArea(int w, int h) {
int area;
int area;
area = w * h;
area = w * h;
return area;
return area;
}
}
ตัว อย่า งเมท็อ ด #2


เขียนเมท็อด PrintRect

รับพารามิเตอร์: int w, int h
 พิมพ์รูปสีเหลี่ยมผืนผ้าขนาดความกว้าง
่
w และความสูง h ด้วยอักขระ '* ' บนหน้า
จอ void PrintRect(int w, int h) {
static


static void PrintRect(int w, int h) {
int i, j;
int i, j;
for (i = 0; i < h; i++) {
for (i = 0; i < h; i++) {
for (j = 0; j < w; j++) {
for (j = 0; j < w; j++) {
Console.Write('*');
Console.Write('*');
}
}
Console.WriteLine();
Console.WriteLine();
}
}
}
}
ลับ สมอง


เขียนเมท็อด DrawLine




รับพารามิเตอร์หนึงตัว: int len
่
ไม่มการส่งคืนค่าใด ๆ
ี
วาดเส้นตรงด้วย len '* '

using System;
using System;
class Quiz {{
class Quiz
static void Main() {{
static void Main()
DrawLine(10);
DrawLine(10);
}}

ใส่เ มท็อ ด DrawLine ตรงนี้...
}}



โปรแกรมข้างต้นต้องแสดงผลลัพธ์เป็น
**********
**********

Weitere ähnliche Inhalte

Was ist angesagt?

Java-Answer Chapter 01-04 (For Print)
Java-Answer Chapter 01-04 (For Print)Java-Answer Chapter 01-04 (For Print)
Java-Answer Chapter 01-04 (For Print)Wongyos Keardsri
 
Java-Answer Chapter 12-13 (For Print)
Java-Answer Chapter 12-13 (For Print)Java-Answer Chapter 12-13 (For Print)
Java-Answer Chapter 12-13 (For Print)Wongyos Keardsri
 
นางสาว จรัญญา-กฤตย์ณัชช์-59170236-กลุ่ม-1
นางสาว จรัญญา-กฤตย์ณัชช์-59170236-กลุ่ม-1นางสาว จรัญญา-กฤตย์ณัชช์-59170236-กลุ่ม-1
นางสาว จรัญญา-กฤตย์ณัชช์-59170236-กลุ่ม-1หน่อย หน่อย
 
Java-Answer Chapter 05-06 (For Print)
Java-Answer Chapter 05-06 (For Print)Java-Answer Chapter 05-06 (For Print)
Java-Answer Chapter 05-06 (For Print)Wongyos Keardsri
 
Java Programming [12/12] : Thread
Java Programming [12/12] : ThreadJava Programming [12/12] : Thread
Java Programming [12/12] : ThreadIMC Institute
 
Java-Answer Chapter 10-11 (For Print)
Java-Answer Chapter 10-11 (For Print)Java-Answer Chapter 10-11 (For Print)
Java-Answer Chapter 10-11 (For Print)Wongyos Keardsri
 
Java-Answer Chapter 07 (For Print)
Java-Answer Chapter 07 (For Print)Java-Answer Chapter 07 (For Print)
Java-Answer Chapter 07 (For Print)Wongyos Keardsri
 
Java Programming [9/12]: Exception Handling
Java Programming [9/12]: Exception HandlingJava Programming [9/12]: Exception Handling
Java Programming [9/12]: Exception HandlingIMC Institute
 
Java Programming: การเขียนโปรแกรมภาษาจาวาเชิงอ็อบเจกต์
Java Programming: การเขียนโปรแกรมภาษาจาวาเชิงอ็อบเจกต์Java Programming: การเขียนโปรแกรมภาษาจาวาเชิงอ็อบเจกต์
Java Programming: การเขียนโปรแกรมภาษาจาวาเชิงอ็อบเจกต์Thanachart Numnonda
 
Java-Answer Chapter 08-09 (For Print)
Java-Answer Chapter 08-09 (For Print)Java-Answer Chapter 08-09 (For Print)
Java-Answer Chapter 08-09 (For Print)Wongyos Keardsri
 
Java-Chapter 13 Advanced Classes and Objects
Java-Chapter 13 Advanced Classes and ObjectsJava-Chapter 13 Advanced Classes and Objects
Java-Chapter 13 Advanced Classes and ObjectsWongyos Keardsri
 
Java-Chapter 01 Introduction to Java Programming
Java-Chapter 01 Introduction to Java ProgrammingJava-Chapter 01 Introduction to Java Programming
Java-Chapter 01 Introduction to Java ProgrammingWongyos Keardsri
 
Java Programming: หลักการเชิงอ็อบเจกต์
Java Programming: หลักการเชิงอ็อบเจกต์Java Programming: หลักการเชิงอ็อบเจกต์
Java Programming: หลักการเชิงอ็อบเจกต์Thanachart Numnonda
 

Was ist angesagt? (19)

Java-Answer Chapter 12-13
Java-Answer Chapter 12-13Java-Answer Chapter 12-13
Java-Answer Chapter 12-13
 
Java-Answer Chapter 10-11
Java-Answer Chapter 10-11Java-Answer Chapter 10-11
Java-Answer Chapter 10-11
 
Java-Answer Chapter 08-09
Java-Answer Chapter 08-09Java-Answer Chapter 08-09
Java-Answer Chapter 08-09
 
Java-Answer Chapter 01-04 (For Print)
Java-Answer Chapter 01-04 (For Print)Java-Answer Chapter 01-04 (For Print)
Java-Answer Chapter 01-04 (For Print)
 
Java-Answer Chapter 12-13 (For Print)
Java-Answer Chapter 12-13 (For Print)Java-Answer Chapter 12-13 (For Print)
Java-Answer Chapter 12-13 (For Print)
 
02 basic
02 basic02 basic
02 basic
 
นางสาว จรัญญา-กฤตย์ณัชช์-59170236-กลุ่ม-1
นางสาว จรัญญา-กฤตย์ณัชช์-59170236-กลุ่ม-1นางสาว จรัญญา-กฤตย์ณัชช์-59170236-กลุ่ม-1
นางสาว จรัญญา-กฤตย์ณัชช์-59170236-กลุ่ม-1
 
Java-Answer Chapter 05-06 (For Print)
Java-Answer Chapter 05-06 (For Print)Java-Answer Chapter 05-06 (For Print)
Java-Answer Chapter 05-06 (For Print)
 
Java Programming [12/12] : Thread
Java Programming [12/12] : ThreadJava Programming [12/12] : Thread
Java Programming [12/12] : Thread
 
Java-Chapter 08 Methods
Java-Chapter 08 MethodsJava-Chapter 08 Methods
Java-Chapter 08 Methods
 
Java-Answer Chapter 10-11 (For Print)
Java-Answer Chapter 10-11 (For Print)Java-Answer Chapter 10-11 (For Print)
Java-Answer Chapter 10-11 (For Print)
 
Java-Answer Chapter 07 (For Print)
Java-Answer Chapter 07 (For Print)Java-Answer Chapter 07 (For Print)
Java-Answer Chapter 07 (For Print)
 
Java Programming [9/12]: Exception Handling
Java Programming [9/12]: Exception HandlingJava Programming [9/12]: Exception Handling
Java Programming [9/12]: Exception Handling
 
Java-Answer Chapter 07
Java-Answer Chapter 07Java-Answer Chapter 07
Java-Answer Chapter 07
 
Java Programming: การเขียนโปรแกรมภาษาจาวาเชิงอ็อบเจกต์
Java Programming: การเขียนโปรแกรมภาษาจาวาเชิงอ็อบเจกต์Java Programming: การเขียนโปรแกรมภาษาจาวาเชิงอ็อบเจกต์
Java Programming: การเขียนโปรแกรมภาษาจาวาเชิงอ็อบเจกต์
 
Java-Answer Chapter 08-09 (For Print)
Java-Answer Chapter 08-09 (For Print)Java-Answer Chapter 08-09 (For Print)
Java-Answer Chapter 08-09 (For Print)
 
Java-Chapter 13 Advanced Classes and Objects
Java-Chapter 13 Advanced Classes and ObjectsJava-Chapter 13 Advanced Classes and Objects
Java-Chapter 13 Advanced Classes and Objects
 
Java-Chapter 01 Introduction to Java Programming
Java-Chapter 01 Introduction to Java ProgrammingJava-Chapter 01 Introduction to Java Programming
Java-Chapter 01 Introduction to Java Programming
 
Java Programming: หลักการเชิงอ็อบเจกต์
Java Programming: หลักการเชิงอ็อบเจกต์Java Programming: หลักการเชิงอ็อบเจกต์
Java Programming: หลักการเชิงอ็อบเจกต์
 

Andere mochten auch

Java week2
Java week2Java week2
Java week2Asa Thai
 
04 conditional
04 conditional04 conditional
04 conditionala-num Sara
 
09 multi arrays
09 multi arrays09 multi arrays
09 multi arraysa-num Sara
 
หน่วยการเรียนที่ 3 เรียนรู้ไวยากรณ์ ตัวแปร ค่าคงที่ comment
หน่วยการเรียนที่ 3 เรียนรู้ไวยากรณ์ ตัวแปร ค่าคงที่ commentหน่วยการเรียนที่ 3 เรียนรู้ไวยากรณ์ ตัวแปร ค่าคงที่ comment
หน่วยการเรียนที่ 3 เรียนรู้ไวยากรณ์ ตัวแปร ค่าคงที่ commentครูสม ฟาร์มมะนาว
 
ภาษา C# เบื้องต้น
ภาษา C# เบื้องต้นภาษา C# เบื้องต้น
ภาษา C# เบื้องต้นictyangtalad
 
หน่วยการเรียนที่ 4 การใช้คำสั่งควบคุมและการตัดสินใจ vb2013 express
หน่วยการเรียนที่ 4 การใช้คำสั่งควบคุมและการตัดสินใจ vb2013 expressหน่วยการเรียนที่ 4 การใช้คำสั่งควบคุมและการตัดสินใจ vb2013 express
หน่วยการเรียนที่ 4 การใช้คำสั่งควบคุมและการตัดสินใจ vb2013 expressครูสม ฟาร์มมะนาว
 
บทที่ 2 สถาปัตยกรรมและแบบจำลองฐานข้อมูล
บทที่ 2 สถาปัตยกรรมและแบบจำลองฐานข้อมูลบทที่ 2 สถาปัตยกรรมและแบบจำลองฐานข้อมูล
บทที่ 2 สถาปัตยกรรมและแบบจำลองฐานข้อมูลครูสม ฟาร์มมะนาว
 
คำสั่งควบคุม
คำสั่งควบคุมคำสั่งควบคุม
คำสั่งควบคุมumaraporn
 

Andere mochten auch (20)

Java week2
Java week2Java week2
Java week2
 
160
160160
160
 
04 conditional
04 conditional04 conditional
04 conditional
 
10 win apps
10 win apps10 win apps
10 win apps
 
05 loops
05 loops05 loops
05 loops
 
06 for loops
06 for loops06 for loops
06 for loops
 
09 multi arrays
09 multi arrays09 multi arrays
09 multi arrays
 
Joomla 56 km
Joomla 56 kmJoomla 56 km
Joomla 56 km
 
หน่วยการเรียนที่ 3 เรียนรู้ไวยากรณ์ ตัวแปร ค่าคงที่ comment
หน่วยการเรียนที่ 3 เรียนรู้ไวยากรณ์ ตัวแปร ค่าคงที่ commentหน่วยการเรียนที่ 3 เรียนรู้ไวยากรณ์ ตัวแปร ค่าคงที่ comment
หน่วยการเรียนที่ 3 เรียนรู้ไวยากรณ์ ตัวแปร ค่าคงที่ comment
 
บทที่ 3 ฐานข้อมูลเชิงสัมพันธ์
บทที่ 3 ฐานข้อมูลเชิงสัมพันธ์บทที่ 3 ฐานข้อมูลเชิงสัมพันธ์
บทที่ 3 ฐานข้อมูลเชิงสัมพันธ์
 
08 arrays
08 arrays08 arrays
08 arrays
 
ภาษา C# เบื้องต้น
ภาษา C# เบื้องต้นภาษา C# เบื้องต้น
ภาษา C# เบื้องต้น
 
หน่วยการเรียนที่ 4 การใช้คำสั่งควบคุมและการตัดสินใจ vb2013 express
หน่วยการเรียนที่ 4 การใช้คำสั่งควบคุมและการตัดสินใจ vb2013 expressหน่วยการเรียนที่ 4 การใช้คำสั่งควบคุมและการตัดสินใจ vb2013 express
หน่วยการเรียนที่ 4 การใช้คำสั่งควบคุมและการตัดสินใจ vb2013 express
 
บทที่ 2 สถาปัตยกรรมและแบบจำลองฐานข้อมูล
บทที่ 2 สถาปัตยกรรมและแบบจำลองฐานข้อมูลบทที่ 2 สถาปัตยกรรมและแบบจำลองฐานข้อมูล
บทที่ 2 สถาปัตยกรรมและแบบจำลองฐานข้อมูล
 
ภาษา C#
ภาษา C#ภาษา C#
ภาษา C#
 
คำสั่งควบคุม
คำสั่งควบคุมคำสั่งควบคุม
คำสั่งควบคุม
 
การประมวลผลข้อมูล
การประมวลผลข้อมูลการประมวลผลข้อมูล
การประมวลผลข้อมูล
 
ความรู้เบื้องต้นเกี่ยวกับ Internet
ความรู้เบื้องต้นเกี่ยวกับ Internetความรู้เบื้องต้นเกี่ยวกับ Internet
ความรู้เบื้องต้นเกี่ยวกับ Internet
 
คำสั่งในการวนรอบการทำงาน Vb2010 (1)
คำสั่งในการวนรอบการทำงาน Vb2010 (1)คำสั่งในการวนรอบการทำงาน Vb2010 (1)
คำสั่งในการวนรอบการทำงาน Vb2010 (1)
 
บทที่ 5 การแปลง er diagram ให้เป็น table
บทที่ 5 การแปลง er diagram ให้เป็น tableบทที่ 5 การแปลง er diagram ให้เป็น table
บทที่ 5 การแปลง er diagram ให้เป็น table
 

Ähnlich wie 07 methods

คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้นคลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้นFinian Nian
 
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้นคลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้นFinian Nian
 
Error handle-OOP(รูปแบบและลักษณะการ Error ในโปรแกรม)
Error handle-OOP(รูปแบบและลักษณะการ Error ในโปรแกรม)Error handle-OOP(รูปแบบและลักษณะการ Error ในโปรแกรม)
Error handle-OOP(รูปแบบและลักษณะการ Error ในโปรแกรม)Anekwong Yoddumnern
 
พื้นฐานภาษาจาวา
พื้นฐานภาษาจาวาพื้นฐานภาษาจาวา
พื้นฐานภาษาจาวาAeew Autaporn
 
โจทย์ปัญญา Pbl
โจทย์ปัญญา Pblโจทย์ปัญญา Pbl
โจทย์ปัญญา PblNopparat Anusong
 

Ähnlich wie 07 methods (14)

c# part1.pptx
c# part1.pptxc# part1.pptx
c# part1.pptx
 
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้นคลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
 
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้นคลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
 
Error handle-OOP(รูปแบบและลักษณะการ Error ในโปรแกรม)
Error handle-OOP(รูปแบบและลักษณะการ Error ในโปรแกรม)Error handle-OOP(รูปแบบและลักษณะการ Error ในโปรแกรม)
Error handle-OOP(รูปแบบและลักษณะการ Error ในโปรแกรม)
 
Lab Computer Programming 1
Lab Computer Programming 1Lab Computer Programming 1
Lab Computer Programming 1
 
Chapter3
Chapter3Chapter3
Chapter3
 
66
6666
66
 
Know1 3
Know1 3Know1 3
Know1 3
 
พื้นฐานภาษาจาวา
พื้นฐานภาษาจาวาพื้นฐานภาษาจาวา
พื้นฐานภาษาจาวา
 
Power point
Power pointPower point
Power point
 
7 2โครงสร้าง
7 2โครงสร้าง7 2โครงสร้าง
7 2โครงสร้าง
 
662305 08
662305 08662305 08
662305 08
 
โจทย์ปัญญา Pbl
โจทย์ปัญญา Pblโจทย์ปัญญา Pbl
โจทย์ปัญญา Pbl
 
Know 1 1
Know 1 1Know 1 1
Know 1 1
 

07 methods