Sự khác biệt giữa Lớp Trừu tượng và Tính kế thừa

Mục lục:

Sự khác biệt giữa Lớp Trừu tượng và Tính kế thừa
Sự khác biệt giữa Lớp Trừu tượng và Tính kế thừa

Video: Sự khác biệt giữa Lớp Trừu tượng và Tính kế thừa

Video: Sự khác biệt giữa Lớp Trừu tượng và Tính kế thừa
Video: NGÀNH KỸ THUẬT PHẦN MỀM LÀ GÌ? 2024, Tháng bảy
Anonim

Lớp học Tóm tắt và Kế thừa

Lớp trừu tượng và Kế thừa là hai khái niệm hướng đối tượng quan trọng được tìm thấy trong nhiều ngôn ngữ lập trình hướng đối tượng như Java. Lớp trừu tượng có thể được coi là phiên bản trừu tượng của một lớp thông thường (cụ thể), trong khi Tính kế thừa cho phép các lớp mới mở rộng các lớp khác. Lớp trừu tượng là lớp không thể khởi tạo nhưng có thể mở rộng. Vì vậy, các lớp trừu tượng chỉ có ý nghĩa nếu ngôn ngữ lập trình hỗ trợ kế thừa. Trong Java, các lớp trừu tượng được khai báo bằng từ khóa Abstract, trong khi từ khóa Extends được sử dụng để kế thừa từ một lớp (siêu).

Lớp Trừu tượng là gì?

Thông thường, các lớp Trừu tượng, còn được gọi là Lớp Cơ sở Trừu tượng (ABC), không thể được khởi tạo (không thể tạo một thể hiện của lớp đó). Vì vậy, các lớp trừu tượng chỉ có ý nghĩa nếu ngôn ngữ lập trình hỗ trợ tính kế thừa (khả năng tạo các lớp con từ việc mở rộng một lớp). Các lớp trừu tượng thường đại diện cho một khái niệm hoặc thực thể trừu tượng với một phần hoặc không có triển khai. Do đó, các lớp trừu tượng hoạt động như các lớp cha mà từ đó các lớp con được dẫn xuất để lớp con sẽ chia sẻ các tính năng chưa hoàn thiện của lớp cha và có thể thêm chức năng để hoàn thiện chúng.

Các lớp trừu tượng có thể chứa các phương thức Tóm tắt. Các lớp con mở rộng một lớp trừu tượng có thể triển khai các phương thức Trừu tượng (kế thừa) này. Nếu lớp con triển khai tất cả các phương thức Trừu tượng như vậy, nó là một lớp cụ thể. Nhưng nếu không, lớp con cũng trở thành một lớp Trừu tượng. Tất cả điều này có nghĩa là, khi lập trình viên chỉ định một lớp là một lớp Trừu tượng, cô ấy đang nói rằng lớp đó sẽ không hoàn chỉnh và nó sẽ có các phần tử cần được hoàn thành bởi các lớp con kế thừa. Đây là một cách hay để tạo hợp đồng giữa hai lập trình viên, giúp đơn giản hóa các nhiệm vụ trong phát triển phần mềm. Lập trình viên, người viết mã để kế thừa, cần tuân theo chính xác các định nghĩa phương thức (nhưng tất nhiên có thể có cách triển khai riêng).

Thừa kế là gì?

Kế thừa là một khái niệm hướng đối tượng, cho phép các lớp mới mở rộng các lớp khác. Từ khóa Extends được sử dụng để triển khai khái niệm kế thừa trong ngôn ngữ lập trình Java. Về cơ bản, tính kế thừa cung cấp khả năng tái sử dụng mã bằng cách cho phép mở rộng các thuộc tính và hành vi của một lớp hiện có bởi một lớp mới được xác định. Khi một lớp con mới (hoặc lớp dẫn xuất) mở rộng một siêu lớp (hoặc lớp cha) thì lớp con đó sẽ kế thừa tất cả các thuộc tính và phương thức của siêu lớp. Lớp con có thể tùy chọn ghi đè hành vi (cung cấp chức năng mới hoặc mở rộng cho các phương thức) được kế thừa từ lớp cha. Thông thường, một lớp con không thể mở rộng nhiều siêu lớp (ví dụ: trong Java). Do đó, bạn không thể sử dụng mở rộng cho đa kế thừa. Để có đa kế thừa, bạn cần sử dụng các giao diện.

Sự khác biệt giữa Lớp Trừu tượng và Lớp Kế thừa là gì?

Các lớp trừu tượng thường đại diện cho một khái niệm trừu tượng hoặc một thực thể có một phần hoặc không có triển khai. Tính kế thừa cho phép các lớp mới mở rộng các lớp khác. Bởi vì, các lớp trừu tượng không thể được khởi tạo, bạn cần sử dụng khái niệm kế thừa để sử dụng các lớp Trừu tượng. Nếu không, một lớp Trừu tượng không có giá trị sử dụng. Các lớp trừu tượng có thể chứa các phương thức Trừu tượng và khi lớp được mở rộng, tất cả các phương thức (Trừu tượng và cụ thể) đều được kế thừa. Lớp kế thừa có thể triển khai bất kỳ hoặc tất cả các phương thức. Nếu tất cả các phương thức Trừu tượng không được triển khai, thì lớp đó cũng trở thành một lớp Trừu tượng. Một lớp không thể kế thừa từ nhiều hơn một lớp Trừu tượng (đây không phải là chất lượng của các lớp Trừu tượng, mà là một hạn chế về kế thừa).

Bài viết liên quan:

Image
Image
Image
Image

Sự khác biệt giữa Lớp Tóm tắt và Lớp Bê tông

Image
Image
Image
Image

Sự khác biệt giữa Ảo và Trừu tượng

Image
Image
Image
Image

Sự khác biệt giữa Lớp Tóm tắt và Giao diện

Image
Image
Image
Image

Sự khác biệt giữa Triển khai và Mở rộng

Image
Image
Image
Image

Sự khác biệt giữa đồ thị và cây

Filed Under: Lập trình được gắn thẻ với: ABC, trừu tượng, Lớp cơ sở trừu tượng, Lớp trừu tượng, Lớp trừu tượng, Từ khóa trừu tượng, Phương thức trừu tượng, lớp cụ thể, Từ khóa mở rộng, Kế thừa, Lớp kế thừa, lớp kế thừa, Java, đa kế thừa, khái niệm hướng đối tượng, lớp thông thường, siêu lớp

Hình ảnh
Hình ảnh

Về tác giả: Indika

Indika, BSc. Eng, MSECE Kỹ thuật Máy tính, Tiến sĩ. Khoa học Máy tính, là Trợ lý Giáo sư và có sở thích nghiên cứu trong các lĩnh vực Tin học sinh học, Sinh học tính toán và Xử lý ngôn ngữ tự nhiên y sinh.

Bình luận

  1. Hình ảnh
    Hình ảnh

    Jason nói

    Ngày 30 tháng 8 năm 2017 lúc 1:25 chiều

    Cảm ơn bạn đã giải thích sự khác biệt. Tất cả các câu hỏi của tôi đã được giải quyết bằng cách này.

    Trả lời

  2. Hình ảnh
    Hình ảnh

    Aus nói

    Ngày 10 tháng 5 năm 2019 lúc 3:04 chiều

    câu trả lời hay nhất trên web, Giáo viên gợi ý giải thích vớ vẩn và vô nghĩa, giọng đơn âm mf. Đây là cách bạn giải thích các khái niệm.

    Trả lời

Để lại câu trả lời Hủy trả lời

Địa chỉ email của bạn sẽ không được công bố. Các trường bắt buộc được đánh dấu

Bình luận

Tên

Email

Trang web

Yêu cầu bài viết
Yêu cầu bài viết
Yêu cầu bài viết
Yêu cầu bài viết

Bài viết nổi bật

Sự khác biệt giữa Coronavirus và các triệu chứng cảm lạnh
Sự khác biệt giữa Coronavirus và các triệu chứng cảm lạnh

Sự khác biệt giữa Coronavirus và các triệu chứng cảm lạnh

Sự khác biệt giữa Coronavirus và SARS
Sự khác biệt giữa Coronavirus và SARS

Sự khác biệt giữa Coronavirus và SARS

Sự khác biệt giữa Coronavirus và Cúm
Sự khác biệt giữa Coronavirus và Cúm

Sự khác biệt giữa Coronavirus và Cúm

Sự khác biệt giữa Coronavirus và Covid 19
Sự khác biệt giữa Coronavirus và Covid 19

Sự khác biệt giữa Coronavirus và Covid 19

Bạn có thể thích

Sự khác biệt giữa Siberian Husky và Malamute

Sự khác biệt giữa Giải tích AB và BC

Đề xuất: