Tạo lớp trừu tượng python

Lớp phủ đối tượng trong Java là lớp đại diện cho một khái niệm và không thể tạo đối tượng của nó. Một lớp có chứa ít nhất một phương thức hiển thị (phương thức không có bất kỳ phần thực thi hoặc thân phương thức nào) được gọi là lớp vật chất

Một lớp hiển thị được khai báo với sự trợ giúp của một từ khóa đối tượng. Luôn có một phương thức khởi tạo mặc định trong một lớp đối tượng, nó cũng có thể có một phương thức khởi tạo tham số hóa

Cách khai báo một lớp đối tượng trong Java

Để khai báo một lớp vật liệu trong Java, chúng ta sử dụng từ khóa trừu tượng. Cú pháp như sau

abstract class ClassName

{

  //class body

}

Kế thừa của lớp đối tượng trong Java

Chúng ta không thể tạo ra các đối tượng hoặc có thể hiển thị từ các lớp trưng bày, nhưng chúng có thể được phân lớp. Nghĩa là, để truy cập các phương thức bên trong các lớp đối tượng, chúng ta phải thực hiện kế thừa của chúng.  

Ví dụ

//abstract parent class

abstract class Person

{

  public void displayInfo()

  {

    System.out.println("I am a person.");

  }

}

Inheritance of abstract class

class Student extends Person

{




}

class AbstractClassDemo

{

  public static void main(String[] args)

  {

    //Creating object of the child class

    Student obj1 = new Student();




    Accessing member of the abstract class

    obj1.displayInfo();

  }

}

đầu ra

I am a person

Trong ví dụ trên, chúng ta đã tạo một lớp đối tượng Person. Chúng ta không thể tạo các đối tượng của Lớp vật thể này và cũng không thể truy cập trực tiếp vào displayInfo (). Để truy cập phương thức displayInfo() của Person, chúng ta phải  mở rộng một lớp con là Student từ Person. Sau đó, chúng ta tạo đối tượng obj1 của lớp con này và sử dụng đối tượng này để truy cập phương thức displayInfo()

Ghi đè các lớp vật liệu trong Java

Trong Java, bắt buộc phải ghi đè các phương thức hiển thị đối tượng của lớp cha trong lớp con của nó vì lớp dẫn xuất mở rộng các phương thức hiển thị đối tượng của lớp cơ sở. Nếu chúng ta không ghi đè các phương thức liệt kê trong các lớp con thì sẽ xảy ra lỗi biên dịch. Do đó, lớp con cần phải ghi đè các phương thức hiển thị của lớp cơ sở của nó

Ví dụ

package com.techvidvan.abstractclass;

abstract class Parent

{

  //concrete method

  public void display1()

  {

    System.out.println("Concrete method of parent class");

  }

  //abstract method

  abstract public void display2();

}

class Child extends Parent

{

  // Must Override this method while extending Parent class

  public void display2()

  {

    System.out.println("Overriding abstract method");

  }




  //Overriding concrete method is not compulsory

  public void display1()

  {

    System.out.println("Overriding concrete method");

  }

}

public class AbstractClassDemo

{

  public static void main(String[] args)

  {

    Child obj = new Child();

    obj.display2();

    obj.display1();

  }

}

đầu ra

Overriding abstract method

Overriding concrete method

>>> Đọc thêm. Generics trong Java - Lợi ích của việc sử dụng Generics trong Java

Các lớp biểu thức của lớp trong Java

  • Các phương thức lật đối tượng là các phương thức không có triển khai. Chúng không chứa bất kỳ câu lệnh phương thức nào
  • Các lớp con của lớp vật liệu này phải cung cấp việc khai triển các phương thức vật liệu kế thừa này
  • Một phương thức hiển thị đối tượng được khai báo với một từ khóa đối tượng
  • Khai báo một phương thức hiển thị phải kết thúc bằng dấu chấm than ;

Cú pháp để khai báo phương thức hiển thị đối tượng

access-specifier abstract return-type method-name();

Tại sao không thể tạo đối tượng của một lớp vật chất trong Java

Chúng ta không thể khởi tạo một lớp đối tượng bởi vì các lớp này là các lớp không hoàn chỉnh, không có triển khai. Các lớp đối tượng có các đối tượng hiển thị phương thức không có các đối tượng thân thiện

Giả sử, nếu Java cho phép bạn tạo một đối tượng của lớp này và sử dụng đối tượng này nếu ai đó gọi phương thức hiển thị đối tượng thì điều gì sẽ xảy ra?

Ngoài ra, một lớp vật liệu cũng giống như một cấu trúc chung hoặc một khuôn mẫu phải được mở rộng bởi các lớp con để thực hiện

>>> Đọc thêm. Ký tự đại diện trong Java - Khái niệm quan trọng về Ký tự đại diện trong Java

Truy cập hàm tạo của các lớp đối tượng trong Java

Bởi vì các hàm tạo của các lớp không trưng tượng có thể truy cập được, chúng ta cũng có thể truy cập vào hàm tạo của một lớp vật chất. Chúng ta truy cập hàm tạo từ lớp con với sự trợ giúp của từ khóa super. Ví dụ,

//parent class

abstract class Parent

{

  //constructor of the abstract class

  Parentl()

  {

    ….

  }

}

//child class

class Child extends Parent

{

  //constructor of the child class

  Child()

  {

    //Accessing the constructor of the abstract class using the super keyword

    super();

    ….

  }

}

Để truy cập hàm tạo của lớp cha, chúng ta sử dụng super () bên trong hàm tạo của Lớp con. Lưu ý rằng câu lệnh super luôn phải là câu lệnh đầu tiên của hàm tạo của lớp con

>>> Tham khảo khóa học lập trình Java

Quy tắc sử dụng các lớp đối tượng trong Java

Có một số quy tắc mà bạn nên nhớ khi làm việc với các lớp đối tượng

  1. Chúng ta có thể khai báo một lớp vật thể bằng cách sử dụng từ khóa vật liệu trừu tượng - trừu tượng
  2. Nó có thể có các phương thức trưng bày cũng như cụ thể (không trưng bày)
  3. Một lớp hiển thị có thể có các phương thức tĩnh
  4. Một lớp hiển thị cũng có thể có các hàm tạo
  5. Chúng ta không thể khởi tạo hoặc tạo một đối tượng của một lớp đối tượng
  6. Một lớp dẫn đầu ra từ lớp cha hiển thị phải khai báo mỗi phương thức được khai báo là hiển thị đối tượng trong lớp cha. If not, will have a error compile
  7. Nếu lớp dẫn đầu ra không khai triển tất cả các phương thức tang vật của một lớp cha vật, thì lớp dẫn đầu ra cũng phải khai báo chính nó là vật thể

Kết luận. Trong bài viết này, chúng tôi đã tìm hiểu khái niệm cơ bản về Lớp vật thể của Java cùng với nhu cầu, sự kế thừa, phương thức và quy tắc của Lớp vật liệu. Hy vọng bạn có thể hiểu rõ về lớp vật liệu trong Java và tận dụng lớp vật liệu này trong quá trình thực hiện các dự án sắp tới. Tìm hiểu thêm về Java và các ngôn ngữ lập trình khác thông qua các khóa học lập trình tại Viện công nghệ thông tin T3H