Java โครงสร้างภายใน Class ,การใช้งานMethod ผ่าน Object

หากจะเริ่มเขียนโปรแกรมสิ่งแรก ๆ ที่ต้องทำก็คือ ไปสร้างclass และหัด “Hellow world”ก่อน นอกจากเฮลโลเวิร์ดในคลาสแล้ว คลาสยังมีส่วนประกอบที่ต้องรู้จักอีก เราจะมาอธิบายแบบง่าย ๆให้ฟัง (มั้ง)

Espressof ;
3 min readJun 18, 2021

//บทความนี้ทำขึ้นเพื่อทบทวนพื้นฐานสิ่งที่เรียนมา สิ่งที่ผู้เขียนทำอาจมีข้อผิดพลาดโปรดพิจารณาเนื้อหา
//บทความนี้เหมาะกับผู้เริ่มต้นเรียน ภาษา java พื้นฐาน อาจเป็นข้อมูลประกอบเพื่อทำความเข้าใจมากขึ้น

มาเริ่มกัน!!!!
เนื้อหาในนี้มี ส่วนประกอบภายในคลาส
การประกาศ Attribute
การประกาศMethod
การประกาศObject
การใช้การMethodผ่าน Object โดยมีตัวอย่างสั้น ๆ

ส่วนประกอบภายในคลาส ( java ) มันสำคัญยังไง เราจะค่อย ๆ ลงลึกไปเรื่อย ๆ
ในคลาสภาษาjavaนี้ ประกอบด้วย แอตทริบิวต์ และ เมธอดมีดังนี้

[modifier] class ClassName {

[AttributeName]
[MethodName]

จะเห็นได้ว่ามีอยู่ 3 บรรทัด บรรทัดแรกก็คือชื่อคลาสนั้นเอง
และอีก2บรรทัดล่าง[AttributeName][MethodName]
และนั่นคือส่วนประกอบภายในคลาส

อธิบายลึกลงไปอีก ในclass นี้ประกอบด้วย
[modifier] คีย์กำหนดคุณสมบัติการเข้าถึงคลาส

ClassName ชื่อคลาส

[AttributeName] การประกาศAttribute

[MethodName] การประกาศMethod
ก็คือในนี้มีส่วนประกอบอยู่ 4 อย่างนั่นเอง และนี่คือตัวอย่าง

พอจะอธิบายได้ประมาณนี้

บรรทัด1 คลาสนี้อยู่ใน package javaapplication7
บรรทัด2 นี่คือคลาสที่เราสร้างไว้แล้ว ชื่อ javaapplication7 มี[modifier]เป็นpublic

บรรทัด3 คือส่วนที่โปรแกรมจะเริ่มทำงานจากบรรทัดนี้ เรียกว่า(main class)เราจะRunโปรแกรมจากคลาสนี้

บรรทัด4 ไม่มีอะไร เป็นคอมเม้นไม่มีผลเมื่อ RUN เราลืมลบ โทดที

บรรทัด5 ประกาศ อ็อบเจ็ค ชื่อ std โดยอิงจากคลาสที่ชื่อว่า access_mod
บรรทัด6–7 เรียกใช้งานเมธอดผ่านอ็อบเจ็ค std โดย method ที่ชื่อว่า setdata()กับ getdata()

เราจะมาทำความเข้าใจการทำงานภายในตัวอย่างนี้
ด้านล่างอีกที

ต่อมาคือการประกาศ Attribute อย่างที่บอก Attributeเนี้ยก็เป็นส่วนนึงของคลาส ซึ่งก็คือการทำงานภายในคลาสนั่นเอง

[modifier] datatype AttributeName

//บรรทัดบนนี่คือส่วนของการประกาศทั้งหมด อธิบายลึก ๆลงไปคือ

[modifier] คีย์คุณสมบัติการเข้าถึงAttribute
datatype ชนิดข้อมูล
AttributeName ชื่อAttribute

ประกาศเมธอด

[modifier] return_type MethodName (parameter)
[method_body]
return …(void)

[modifier] คีย์กำหนดคุณสมบัติการเข้าถึงเมธอด
return_type ชนิดข้อมูลที่ต้องการส่งค่ากลับ หากไม่มีให้ใช้ void
MethodName ชื่อเมธอด
(parameter) เป็นตัวแปรที่เรากำหนดขึ้นเพื่อรับข้อมูลมายังเมธอด
[method_body] ชุดคำสั่งภายเมธอด
return …(void) เป็นค่าที่ต้องการส่งกลับ หากไม่มีกำหนดเป็น void
//เมธอดมีการทำงานที่ลึกซึ้งกว่านี้ แต่ในนี้เราจะอธิบายเพียงเล็กน้อยพอให้เห็นภาพ

ในตัวอย่างด้านบนนี้
คลาส access_modมีการประกาศ Attribute และ ประกาศ method
พอจะอธิบายได้ ประมาณนี้

บรรทัด 3 ประกาศแอตทริบิวต์ ชนิดข้อมูล เป็น String ชื่อ name
บรรทัด 4 ประกาศแอตทริบิวต์ ชนิดข้อมูลเป็น int เก็บค่าเป็นตัวเลข ชื่อ age//ในที่นี้ เราไม่ได้กำหนด[modifier] ของแอตทริบิวต์

บรรทัด 5 ประกาศเมธอดชื่อ setdata() และกำหนดการทำงานภายในเมธอดโดยใส่ค่าให้กับตัวแปรที่เราประกาศไว้ (แอตทริบิวต์)
ชื่อ name กำหนดชนิดข้อมูลเป็น Stringเก็บค่าเป็นชนิดข้อความ คือ chinjung
และอีกตัวแปรชื่อ age กำหนดชนิดข้อมูลเป็น int เก็บข้อมูลจำนวนเต็ม คือ 10

บรรทัด 9 ประกาศเมธอดชื่อ getdata()มีการทำงานภายในเมธอดคือใน
บรรทัดที่10–11 ใช้คำสั่ง .println แสดงผลออกทางหน้าจอ ผ่านตัวแปร name,age

ทบทวนอีกทีเราสร้างกันมาแล้ว 2คลาส JavaApplication7, class access_modและในนั้นมี mainclass เพื่อใช้ Rum โปรแกรม ชื่อคลาสว่า JavaApplication7

ทีนี้เราต้องการใช้งานสมาชิกของ class access_mod ที่เราประกาศแอตทริบิวต์ไว้และเมธอดนั่นเอง
สิ่งที่เราต้องทำเพื่อให้เข้าใช้งานสมาชิกที่ต่างคลาสกัน คือการประกาศ Object

การประกาศออบเจ็ค

ClassName ObjectName = new ClassName

ClassName ชื่อคลาส
ObjectName ชื่อออบเจ็ค
new ClassName ชื่อคลาส เหมือนเดิมเพิ่มเติมแค่มี new

ในภาพตัวอย่างแรก จะเห็นว่า บรรทัดที่ 5 คือการประกาศ Object จากภายในคลาส JavaApplication7 เพื่อใช้งานสมาชิกของคลาสclass access_mod

อธิบายการประกาศObject อีกที

access_mod std= new access_mod ();

access_mod ชื่อ คลาส

std ชื่ออ็อบเจ็คที่เราตั้ง (std) ภายในคลาสJavaApplication7

new access_mod ชื่อคลาสเหมือนเดิมเพิ่มเติมแค่มี new

main class

บรรทัดที่ 5 เมื่อประกาศอ็อบเจ็คแล้ว ก็สามารถเรียกใช้ Method จากต่างคลาสได้
อย่างเช่น
บรรทัดที่6–7 Object.Method();

และไม่ต้องย้อนดูไห้เสียเวลา เราเอาตัวอย่างมาให้แล้ว xD
เมื่อ run โปรแกรมแล้วก็จะได้ผลลัพธ์ดังนี้

--

--

Espressof ;
Espressof ;

Written by Espressof ;

0 Followers

เขียน blog ทบทวนตัวเอง

No responses yet