บทนำที่สมบูรณ์เกี่ยวกับคลาสนามธรรมใน Java



บทความนี้จะช่วยให้คุณมีแนวทางโดยละเอียดเกี่ยวกับ Abstract Classes ใน Java พร้อมกับตัวอย่างเพื่อทำความเข้าใจแนวคิดในทางที่ดีขึ้นมาก

คลาสนามธรรมใน ช่วยให้ผู้ใช้บรรลุนามธรรมซึ่งเป็นแนวทางปฏิบัติการเขียนโปรแกรมเชิงวัตถุที่สำคัญที่สุดตามมาในระหว่างขั้นตอนการออกแบบซอฟต์แวร์ ในบทความนี้เราจะพูดถึงคำศัพท์ของ Abstract Classes ผ่านเอกสารต่อไปนี้

Abstract Classes ใน Java คืออะไร?

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





Abstract-Classes-in-Java-Edureka

คลาสนามธรรมถือเป็นคลาสที่ซ่อนไฟล์ วิธีการดำเนินการ รายละเอียดจากผู้ใช้และแสดงเฉพาะไฟล์ วิธีการทำงาน มีการประกาศโดยใช้คำหลัก บทคัดย่อ . วิธีการเหล่านี้อาจรวมถึง บทคัดย่อ และ ไม่เป็นนามธรรม วิธีการในพวกเขา

indexof ใน javascript คืออะไร

เหตุใดเราจึงต้องมีคลาสบทคัดย่อใน Java

เราต้องการ Abstract Classes ใน Java ด้วยเหตุผลดังต่อไปนี้:



  • การสนับสนุน Abstract Classes ความละเอียดวิธีการแบบไดนามิก ในเวลาทำงาน
  • ช่วยให้ผู้ใช้บรรลุ ข้อต่อหลวม
  • คลาสบทคัดย่อแยกไฟล์ นิยามวิธีการ จากมรดก คลาสย่อย
  • พวกเขาให้ ฟังก์ชันเริ่มต้น ของวิธีการที่กำหนดไว้สำหรับคลาสย่อยทั้งหมด
  • คลาสบทคัดย่อให้ เทมเพลต สำหรับชั้นเรียนเฉพาะในอนาคต
  • คลาสนามธรรมช่วยให้ รหัส การใช้งานซ้ำ

กฎสำหรับการใช้คลาสนามธรรมใน Java

ในการใช้ Abstract Class ใน Java เราจำเป็นต้องปฏิบัติตามกฎดังที่อธิบายไว้ด้านล่าง:



  • ต้องประกาศคลาสนามธรรมโดยใช้ บทคัดย่อ คำสำคัญ.
  • คลาสนามธรรมสามารถรวมถึง บทคัดย่อ และ ไม่ใช่นามธรรม วิธีการ
  • คลาสบทคัดย่อไม่สามารถเป็นได้ สร้างอินสแตนซ์
  • พวกเขาสามารถรวม ช่างก่อสร้าง และ คงที่ วิธีการ
  • คลาสบทคัดย่อประกอบด้วย สุดท้าย วิธีการ

วิธีในการบรรลุ Abstraction ใน Java

กระบวนการ Abstraction ใน Java สามารถทำได้โดยใช้สองวิธีดังต่อไปนี้:

  1. การใช้คลาสบทคัดย่อ
  2. การใช้อินเทอร์เฟซ

ไวยากรณ์สำหรับคลาสนามธรรม

ไวยากรณ์สำหรับการกำหนดคลาสนามธรรมและวิธีนามธรรมมีดังนี้:

คลาสนามธรรม 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” และเราจะติดต่อกลับโดยเร็วที่สุด