คลาสนามธรรมใน ช่วยให้ผู้ใช้บรรลุนามธรรมซึ่งเป็นแนวทางปฏิบัติการเขียนโปรแกรมเชิงวัตถุที่สำคัญที่สุดตามมาในระหว่างขั้นตอนการออกแบบซอฟต์แวร์ ในบทความนี้เราจะพูดถึงคำศัพท์ของ Abstract Classes ผ่านเอกสารต่อไปนี้
- Abstract Classes ใน Java คืออะไร?
- เหตุใดเราจึงต้องมีคลาสบทคัดย่อใน Java
- กฎสำหรับการใช้คลาสนามธรรมใน Java
- วิธีในการบรรลุ Abstraction ใน Java
- ไวยากรณ์สำหรับคลาสนามธรรม
- ตัวอย่างเชิงปฏิบัติของคลาสนามธรรม
- ความแตกต่างระหว่างอินเทอร์เฟซและคลาสนามธรรม
Abstract Classes ใน Java คืออะไร?
คลาสนามธรรมใน ทำหน้าที่เป็นขอบเขตระหว่างวิธีการใช้งานและฟังก์ชันการทำงาน ใช้เพื่อแลกเปลี่ยนฟังก์ชันการทำงานระหว่างไฟล์ คอนกรีต สมาชิกชั้นเรียนและ บทคัดย่อ คลาส.
คลาสนามธรรมถือเป็นคลาสที่ซ่อนไฟล์ วิธีการดำเนินการ รายละเอียดจากผู้ใช้และแสดงเฉพาะไฟล์ วิธีการทำงาน มีการประกาศโดยใช้คำหลัก บทคัดย่อ . วิธีการเหล่านี้อาจรวมถึง บทคัดย่อ และ ไม่เป็นนามธรรม วิธีการในพวกเขา
indexof ใน javascript คืออะไร
เหตุใดเราจึงต้องมีคลาสบทคัดย่อใน Java
เราต้องการ Abstract Classes ใน Java ด้วยเหตุผลดังต่อไปนี้:
- การสนับสนุน Abstract Classes ความละเอียดวิธีการแบบไดนามิก ในเวลาทำงาน
- ช่วยให้ผู้ใช้บรรลุ ข้อต่อหลวม
- คลาสบทคัดย่อแยกไฟล์ นิยามวิธีการ จากมรดก คลาสย่อย
- พวกเขาให้ ฟังก์ชันเริ่มต้น ของวิธีการที่กำหนดไว้สำหรับคลาสย่อยทั้งหมด
- คลาสบทคัดย่อให้ เทมเพลต สำหรับชั้นเรียนเฉพาะในอนาคต
- คลาสนามธรรมช่วยให้ รหัส การใช้งานซ้ำ
กฎสำหรับการใช้คลาสนามธรรมใน Java
ในการใช้ Abstract Class ใน Java เราจำเป็นต้องปฏิบัติตามกฎดังที่อธิบายไว้ด้านล่าง:
- ต้องประกาศคลาสนามธรรมโดยใช้ บทคัดย่อ คำสำคัญ.
- คลาสนามธรรมสามารถรวมถึง บทคัดย่อ และ ไม่ใช่นามธรรม วิธีการ
- คลาสบทคัดย่อไม่สามารถเป็นได้ สร้างอินสแตนซ์
- พวกเขาสามารถรวม ช่างก่อสร้าง และ คงที่ วิธีการ
- คลาสบทคัดย่อประกอบด้วย สุดท้าย วิธีการ
วิธีในการบรรลุ Abstraction ใน Java
กระบวนการ Abstraction ใน Java สามารถทำได้โดยใช้สองวิธีดังต่อไปนี้:
- การใช้คลาสบทคัดย่อ
- การใช้อินเทอร์เฟซ
ไวยากรณ์สำหรับคลาสนามธรรม
ไวยากรณ์สำหรับการกำหนดคลาสนามธรรมและวิธีนามธรรมมีดังนี้:
คลาสนามธรรม Edureka {}
วิธีการระดับนามธรรม ()
ตัวอย่างเชิงปฏิบัติของคลาสนามธรรม
// คลาสบทคัดย่อ
package Abstract public abstract class บุคคล {private String name private String gender public Person (String nm, String gen) {this.name = nm this.gender = gen} public abstract void Studying () @Override public String toString () {return ' ชื่อ = '+ this.name +' :: Gender = '+ this.gender}}
// ชั้นเรียน
package Abstract public class Student ขยาย Person {private int StudentID public Student (String nm, String gen, int id) {super (nm, gen) this.StudentID = id} @Override public void Studying () {if (StudentID == 0 ) {System.out.println ('Not Study')} else {System.out.println ('Pursuing a Degree in Bachelor of Engineering')}} public static void main (String args []) {Person student = new Student ('Priya', 'Female', 0) Person student1 = new Student ('Karan', 'Male', 201021) Person student2 = new Student ('Kumari', 'Female', 101021) Person student3 = new Student (' John ',' ชาย ', 255961) student.Studying () student1.Studying () student2.Studying () student3.Studying () System.out.println (student.toString ()) System.out.println (student1.toString ()) System.out.println (student2.toString ()) System.out.println (student3.toString ())}}
เอาท์พุต:
การต่อสู้บทบาทหลักและความรับผิดชอบ pdf
ไม่ได้เรียน
สำเร็จการศึกษาระดับปริญญาตรีวิศวกรรมศาสตร์
สำเร็จการศึกษาระดับปริญญาตรีวิศวกรรมศาสตร์
สำเร็จการศึกษาระดับปริญญาตรีวิศวกรรมศาสตร์
ชื่อ = ปรียา :: เพศ = หญิง
ชื่อ = คาราน :: เพศ = ชาย
ชื่อ = กุมารี :: เพศ = หญิง
ชื่อ = จอห์น :: เพศ = ชาย
ความแตกต่างระหว่างอินเทอร์เฟซและคลาสนามธรรม
อินเตอร์เฟซ | คลาสนามธรรม |
สามารถมีได้เฉพาะวิธีนามธรรม | สามารถมีวิธีนามธรรมและไม่เป็นนามธรรม |
มันมีตัวแปรสุดท้ายเท่านั้น | ประกอบด้วยตัวแปรที่ไม่ใช่ขั้นสุดท้าย |
มีตัวแปรคงที่และตัวแปรสุดท้ายเท่านั้น | มันมีตัวแปรคงที่ไม่คงที่ขั้นสุดท้ายไม่ใช่ขั้นสุดท้าย |
จะไม่ใช้ Abstract Class | สามารถใช้อินเทอร์เฟซ |
ดำเนินการโดยใช้คำหลัก 'implements' | ดำเนินการโดยใช้คำหลัก 'ขยาย' |
สามารถขยายได้เฉพาะอินเทอร์เฟซ | สามารถขยาย Java Classes and Interfaces |
สมาชิกเป็นสาธารณะโดยค่าเริ่มต้น | สมาชิกสามารถเป็นส่วนตัวและได้รับการคุ้มครอง |
// ตัวอย่างคลาสบทคัดย่อ
แพคเกจ AbstactVSinterface คลาสนามธรรมรูปร่าง {String objectName = '' Shape (ชื่อสตริง) {this.objectName = name} พื้นที่คู่นามธรรมสาธารณะ () นามธรรมโมฆะสาธารณะวาด ()} คลาสสี่เหลี่ยมผืนผ้าขยายรูปร่าง {int length, width Rectangle (int length int width, String name) {super (name) this.length = length this.width = width} @Override public void draw () {System.out.println ('Rectangle is drawn')} @Override public double area () {return (double) (length * width)}} class Circle ขยาย Shape {double pi = 3.14 int radius Circle (int radius, String name) {super (name) this.radius = radius} @Override public void draw () { System.out.println ('Circle is drawn')} @Override public double area () {return (double) ((pi * radius * radius) / 2)}} class Edureka {public static void main (String [] args ) {Shape rectangle = new Rectangle (20, 30, 'Rectangle') System.out.println ('Area of rectangle:' + rect.area ()) Shape circle = new Circle (20, 'Cicle') System.out .println ('พื้นที่วงกลมคือ:' + circle.area ())}}
เอาท์พุต:
เริ่มต้นด้วย mysql workbench
พื้นที่สี่เหลี่ยมผืนผ้า: 600.0
พื้นที่วงกลมคือ: 628.0
// ตัวอย่างอินเทอร์เฟซ
แพคเกจอินเทอร์เฟซ absVSint รูปร่าง {void draw () double area ()} คลาสสี่เหลี่ยมผืนผ้าใช้รูปร่าง {int length, width Rectangle (int length, int width) {this.length = length this.width = width} @Override public void draw () {System.out.println ('Rectangle has been drawn')} @Override public double area () {return (double) (length * width)}} class Circle implements Shape {double pi = 3.14 int radius Circle (int radius) {this.radius = radius} @Override public void draw () {System.out.println ('Circle has been drawn')} @Override public double area () {return (double) ((pi * radius * radius) / 2)}} คลาส Edureka {public static void main (String [] args) {Shape rect = new Rectangle (20, 30) System.out.println ('Area of rectangle:' + rect.area ()) Shape circle = Circle ใหม่ (20) System.out.println ('พื้นที่ของวงกลม:' + circle.area ())}}
เอาท์พุต:
พื้นที่สี่เหลี่ยมผืนผ้า: 600.0
พื้นที่วงกลม: 628.0
ด้วยเหตุนี้เราจึงมาถึงจุดสิ้นสุดของบทความนี้ ฉันหวังว่าคุณจะเข้าใจถึงความสำคัญของ Abstraction, Syntax, functions, Rules of Abstraction ใน Java และตัวอย่างที่ใช้ได้จริงที่เกี่ยวข้อง
ตอนนี้คุณเข้าใจพื้นฐานของ Java แล้วลองดูไฟล์ โดย Edureka บริษัท การเรียนรู้ออนไลน์ที่เชื่อถือได้ซึ่งมีเครือข่ายผู้เรียนที่พึงพอใจมากกว่า 250,000 คนกระจายอยู่ทั่วโลก หลักสูตรการฝึกอบรมและการรับรอง Java J2EE และ SOA ของ Edureka ออกแบบมาสำหรับนักเรียนและผู้เชี่ยวชาญที่ต้องการเป็น Java Developer หลักสูตรนี้ออกแบบมาเพื่อให้คุณเริ่มต้นการเขียนโปรแกรม Java และฝึกอบรมแนวคิด Java ทั้งหลักและขั้นสูงพร้อมกับกรอบงาน Java ต่างๆเช่น Hibernate & ฤดูใบไม้ผลิ .
มีคำถามสำหรับเรา? พูดถึงในส่วนความคิดเห็นของบล็อก“ Abstract Classes in Java” และเราจะติดต่อกลับโดยเร็วที่สุด