Java โครงสร้างภายใน Class ,การใช้งานMethod ผ่าน Object
หากจะเริ่มเขียนโปรแกรมสิ่งแรก ๆ ที่ต้องทำก็คือ ไปสร้างclass และหัด “Hellow world”ก่อน นอกจากเฮลโลเวิร์ดในคลาสแล้ว คลาสยังมีส่วนประกอบที่ต้องรู้จักอีก เราจะมาอธิบายแบบง่าย ๆให้ฟัง (มั้ง)
//บทความนี้ทำขึ้นเพื่อทบทวนพื้นฐานสิ่งที่เรียนมา สิ่งที่ผู้เขียนทำอาจมีข้อผิดพลาดโปรดพิจารณาเนื้อหา
//บทความนี้เหมาะกับผู้เริ่มต้นเรียน ภาษา 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
บรรทัดที่ 5 เมื่อประกาศอ็อบเจ็คแล้ว ก็สามารถเรียกใช้ Method จากต่างคลาสได้
อย่างเช่น
บรรทัดที่6–7 Object.Method();
และไม่ต้องย้อนดูไห้เสียเวลา เราเอาตัวอย่างมาให้แล้ว xD
เมื่อ run โปรแกรมแล้วก็จะได้ผลลัพธ์ดังนี้