เหตุใดจึงจำเป็นต้องมีการห่อหุ้มใน Java
ที่มา:ใช้บันทึกย่อของฉัน ในโพสต์นี้ คุณจะได้เรียนรู้ว่าเหตุใดจึงจำเป็นต้องมีการห่อหุ้มในการเขียนโปรแกรมเชิงวัตถุ บทความนี้กล่าวถึงแนวคิดของการดำเนินการและวิธีการใช้งานในภาษา Javaการห่อหุ้มใน Java คืออะไร
การห่อหุ้มเป็นแนวคิดในภาษา Java ที่รวมข้อมูลและวิธีการที่ทำงานบนข้อมูลนั้นไว้ในแพ็คเกจหรือกระดาษห่อเดียว พูดง่ายๆ ก็คือ การห่อหุ้มจะรวมตัวแปรและวิธีการไว้ในคลาสเดียวเหตุใดเราจึงต้องมีการห่อหุ้มใน Java?
- เพื่อให้โค้ดของคุณสะอาดและเป็นระเบียบ
- เพื่อการควบคุมการเข้าถึงที่ดีขึ้นสำหรับสมาชิกแบบห่อหุ้ม
- เพื่อให้เข้าใจโค้ดได้ดีขึ้น
class MyBankAccount {
private int acc_number;
private int acc_balance;
public MyBankAccount(int acc_number, int acc_balance) {
this.acc_number = acc_number;
this.acc_balance = acc_balance;
}
public int printAccountBalance() {
System.out.println("Balance: " + acc_balance);
}
public int printAccountNumber() {
System.out.println("Account Number: " + acc_number);
}
public void depositMoney(int money) {
acc_balance = acc_balance + money;
}
}
ที่นี่เรามี คลาส MyBankAccountพร้อมด้วยตัวสร้าง ตัวแปรสองตัว และสามวิธี สมาชิกชั้นเรียนเหล่านี้มีความเกี่ยวข้องกัน จึงอยู่ในชั้นเรียนเดียวกัน คลาสMyBankAccountสรุปหรือรวมเนื้อหาของคลาส และโค้ดทั้งหมดนี้ทำหน้าที่เป็นหน่วยเดียว ตอนนี้เพียงแค่ดูชื่อคลาส เช่น “MyBankAccount” เราก็สามารถสรุปได้ว่ามียอดเงินในบัญชีและหมายเลขบัญชี (ซึ่งมีเป็นตัวแปร) บัญชีธนาคารเชื่อมโยงกับธุรกรรมทางการเงิน เช่น การฝากเงิน รายการยอดคงเหลือในบัญชี และอื่นๆ ธุรกรรมเหล่านี้ดำเนินการโดยใช้วิธีการที่สอดคล้องกับคลาสข้างต้น ดังที่เราเห็น สิ่งนี้ได้ปรับปรุงความสามารถในการอ่านและการบำรุงรักษาโค้ด สมมติว่าเรามี 100 คลาสและแต่ละคลาสมี 5 ถึง 10 วิธีและมีจำนวนตัวแปรเกือบเท่ากัน เมื่อใช้ encapsulation จะง่ายกว่ามากสำหรับเราในการค้นหาวิธีการหรือตัวแปรเฉพาะโดยการเดาว่าตัวแปรเหล่านั้นอาจอยู่ในคลาสใด
แนวคิดเรื่องการห่อหุ้มสามารถช่วยคุณในการทำงานได้อย่างไร?
การห่อหุ้มในการเขียนโปรแกรมมีข้อดีหลายประการ เราแค่ไม่ตระหนักถึงมันจนกว่าเราจะเห็นมันใช้งานจริง ในโลกสมัยใหม่ ทุกอย่างเป็นดิจิทัลและซอฟต์แวร์ไม่ทางใดก็ทางหนึ่ง มีภาษาการเขียนโปรแกรมหลายภาษาซึ่งมีการสร้างโค้ดจำนวนมากเมื่อพัฒนาซอฟต์แวร์หรือไลบรารีการเขียนโปรแกรม พวกเขาทั้งหมดถูกห่อหุ้มไม่ทางใดก็ทางหนึ่ง หากไม่มีการห่อหุ้ม การเขียนโปรแกรมจะยุ่งเหยิง (โดยเฉพาะในอุตสาหกรรมซอฟต์แวร์) การห่อหุ้มใน Java:- ช่วยจัดระเบียบโค้ดได้ดีขึ้นและชัดเจนยิ่งขึ้น
- ช่วยให้คุณใช้ความพยายามน้อยลงเมื่อต้องดูแลรักษาโค้ดจำนวนมาก
- ลดความซับซ้อนในการจัดการโค้ด
- แบ่งรหัสออกเป็นส่วนๆ
- ปรับปรุงความสามารถในการอ่าน
เกิดอะไรขึ้นถ้าไม่มีการห่อหุ้ม?
มีภาษาโปรแกรมที่ไม่มีแนวคิดเรื่องการห่อหุ้ม หนึ่งในนั้นคือภาษาโปรแกรม C ไม่มีแนวคิดเรื่องการห่อหุ้ม โค้ดสามารถกระจัดกระจายไปตามไฟล์ต่างๆ และแต่ละไฟล์สามารถมีตัวแปรหรือฟังก์ชันใดๆ ที่อาจเกี่ยวข้องกันหรือไม่ก็ได้ สิ่งนี้สร้างความสับสนในการจัดการโค้ดและเพิ่มความซับซ้อน ไม่มีการห่อหุ้ม:- รหัสอาจไม่เป็นระเบียบหรือเกะกะ
- ความซับซ้อนของการบำรุงรักษาโค้ดเพิ่มขึ้น
- การดีบักโค้ดจะยากขึ้น
- ความสามารถในการอ่านลดลง
สามวิธีในการใช้ฟังก์ชันการพิมพ์ใน Java
ที่มา: FreeCodeCamp ไม่ใช่นักพัฒนาทุกคนที่รู้เกี่ยวกับฟังก์ชัน/โอเปอเรเตอร์การพิมพ์ที่แตกต่างกันสามฟังก์ชันใน Java ผู้เขียนบทความนี้จะพูดถึงพวกเขาและแสดงวิธีการทำงานพร้อมตัวอย่างวิธีใช้ฟังก์ชัน println() ใน Java
ฟังก์ชันprintln()จะเพิ่มบรรทัดใหม่หลังจากพิมพ์ค่า/ข้อมูลที่อยู่ภายใน ที่นี่ ส่วนต่อท้าย lnทำงานเหมือนกับอักขระขึ้นบรรทัดใหม่\ n ลองดูโค้ดตัวอย่าง:public class Main{
public static void main(String[] args) {
System.out.println("Hello World!");
}
}
หากยังไม่ชัดเจนว่าเกิดอะไรขึ้น ก็สามารถอธิบายสั้นๆ ได้ดังนี้ เมื่อคุณพิมพ์เพียงบรรทัดเดียว นี่คือผลลัพธ์ที่คุณได้รับ:
สวัสดีชาวโลก!
ตอนนี้ ถ้าคุณพยายามพิมพ์นิพจน์ต่างๆ โดยใช้println()คุณจะเห็นความแตกต่างได้อย่างชัดเจน!
public class Main{
public static void main(String[] args) {
System.out.println("Hello World!");
System.out.println("Welcome to freeCodeCamp");
}
}
อย่างที่คุณเห็น หลังจากดำเนินการคำสั่ง print แรกแล้ว จะมีการเพิ่มอักขระขึ้นบรรทัดใหม่หนึ่งตัว ( \n ) ดังนั้นคุณจะได้รับคำสั่งการพิมพ์ที่สองยินดีต้อนรับสู่ freeCodeCampในบรรทัดถัดไป ผลลัพธ์ทั้งหมดจะเป็นดังนี้:
สวัสดีชาวโลก! ยินดีต้อนรับสู่ freeCodeCamp
แต่ไม่มีวิธีใดที่จะหลีกเลี่ยงบรรทัดใหม่ที่สร้างขึ้นอัตโนมัติใน ฟังก์ชัน การพิมพ์ใช่หรือไม่ กิน! ในกรณีนี้ คุณต้องใช้ คำสั่ง print( )
วิธีใช้ฟังก์ชัน print() ใน Java
เพื่อสาธิตคุณลักษณะนี้ ให้ฉันใช้ตัวอย่างที่จะช่วยให้คุณเห็นความแตกต่างได้ทันที:public class Main{
public static void main(String[] args) {
System.out.print("Hello World!");
System.out.print("Welcome to freeCodeCamp");
}
}
อย่างที่คุณเห็น ฉันใช้printแทนprintlnเหมือนเมื่อก่อน คำสั่งการพิมพ์ไม่ได้เพิ่ม\n พิเศษ เป็นอักขระขึ้นบรรทัดใหม่หลังจากดำเนินการงานภายในนั้น นั่นคือคุณจะไม่ได้รับบรรทัดใหม่ในเอาต์พุต แต่จะมีลักษณะดังนี้:
สวัสดีชาวโลก! ยินดีต้อนรับสู่ freeCodeCamp
หากคุณต้องการ คุณสามารถแก้ไข ปัญหา \nได้ดังนี้:
public class Main{
public static void main(String[] args) {
System.out.print("Hello World!\n");
System.out.print("Welcome to freeCodeCamp");
}
}
คราวนี้\nจะทำงานเป็นอักขระขึ้นบรรทัดใหม่และคุณจะได้บรรทัดที่สอง นี่คือผลลัพธ์:
สวัสดีชาวโลก! ยินดีต้อนรับสู่ freeCodeCamp
คุณยังสามารถพิมพ์สองบรรทัดโดยใช้เพียง คำสั่ง พิมพ์ เดียว ดังที่แสดงด้านล่าง:
public class Main{
public static void main(String[] args) {
System.out.print("Hello World!\nWelcome to freeCodeCamp");
}
}
ผลลัพธ์จะเหมือนกัน:
สวัสดีชาวโลก! ยินดีต้อนรับสู่ freeCodeCamp
วิธีใช้ฟังก์ชัน printf() ใน Java
ฟังก์ชันprintf()ทำงานเหมือนกับฟังก์ชันการพิมพ์ ที่จัดรูปแบบ แล้ว เพื่อให้เข้าใจได้ดี ขึ้นต่อไปนี้เป็นสองสถานการณ์: สถานการณ์ที่ 1 ทอมมี่เพื่อนของคุณต้องการให้คุณส่งอีเมลไฟล์ PDF ให้เขา คุณสามารถสร้างอีเมลด้วยหัวเรื่องที่คุณเลือกได้ (เช่น สวัสดีทอมมี่ นี่คือจิม) คุณยังสามารถละเนื้อหาของอีเมลและส่งอีเมลเปล่าพร้อมไฟล์แนบ PDF ได้อีกด้วย สถานการณ์ที่ 2 คุณไม่สามารถมาชั้นเรียนเมื่อวานนี้ คุณครูขอให้คุณระบุเหตุผลการขาดงานพร้อมหลักฐานและส่งเอกสารทางอีเมล ที่นี่ คุณไม่สามารถส่งจดหมายถึงอาจารย์ของคุณแบบที่คุณส่งถึงทอมมี่เพื่อนของคุณได้ คุณต้องรักษาความเป็นทางการและมารยาทที่เหมาะสม นั่นคือในจดหมายคุณต้องระบุหัวข้อที่เป็นทางการและเขียนข้อมูลที่จำเป็นลงในเนื้อหา สุดท้ายแต่ไม่ท้ายสุด คุณควรแนบเอกสารไปกับอีเมลของคุณหลังจากเปลี่ยนชื่อตามรูปแบบการตั้งชื่อที่เหมาะสม ประเด็นก็คือคุณต้องจัดรูปแบบอีเมลของคุณในแบบที่คุณต้องการ ฟังก์ชันprintf()ช่วยให้เราใช้สถานการณ์ที่สองได้ หากเราต้องการระบุรูปแบบ/สไตล์การพิมพ์ที่เฉพาะเจาะจง เราจะใช้ฟังก์ชันprintf() นี่เป็นตัวอย่างสั้นๆ ของวิธีการทำงาน:public class Main{
public static void main(String[] args) {
double value = 2.3897;
System.out.println(value);
System.out.printf("%.2f" , value);
}
}
ที่นี่ฉันประกาศตัวแปรคู่ที่เรียกว่าvalueและกำหนดค่า2.3897 ให้กับ มัน ตอนนี้เมื่อฉันใช้ ฟังก์ชัน println()มันจะพิมพ์ค่าทั้งหมดโดยมีตัวเลขสี่หลักหลังจุด Radix นี่คือผลลัพธ์:
2.3897 2.39
หลังจากนั้น เมื่อฉันใช้ ฟังก์ชัน printf()ฉันสามารถเปลี่ยนเอาท์พุตสตรีมเพื่อให้ฟังก์ชันพิมพ์ค่าได้ ที่นี่ฉันบอกฟังก์ชันว่าฉันต้องการให้เอาต์พุตสองหลักตรงหลังจุดฐาน ดังนั้นฟังก์ชันจะพิมพ์ค่าที่ปัดเศษเป็นตัวเลขสองหลักหลังจุดฐาน และ นี่เป็นเพียงวิธีหนึ่งในการใช้ ฟังก์ชัน printf() โปรดทราบว่ามีประโยชน์หลายอย่างในภาษา Java
GO TO FULL VERSION