Bạn có thể thấy rằng có thực sự là không có thay đổi Ngoại trừ trong lớp cơ sở. Nó là hữu ích để tạo ra các lớp trừu tượng và phương pháp bởi vì họ làm cho abstractness một lớp học rõ ràng, và kể cả người sử dụng và trình biên dịch như thế nào nó được dự định sẽ được sử dụng. Các lớp trừu tượng cũng có ích refactoring lệ phí cầu đường, kể từ khi họ cho phép bạn dễ dàng chuyển các phương pháp phổ biến lên hệ thống phân cấp thừa kế. Tập thể dục 1: (1) sửa đổi tập thể dục 9 trong chương trước để động vật gặm nhấm đó là một lớp trừu tượng. Làm cho các phương pháp của động vật gặm nhấm trừu tượng bất cứ khi nào có thể. Tập thể dục 2: (1) tạo ra một lớp học như là tóm tắt không bao gồm bất kỳ phương pháp trừu tượng và xác minh rằng bạn không thể tạo ra bất kỳ trường hợp của lớp đó. Tập thể dục 3: (2) tạo một lớp cơ sở với một phương pháp trừu tượng in (hàng) ghi đè trong một lớp học có nguồn gốc. Phiên bản ghi đe của phương pháp in giá trị của một biến int được định nghĩa trong các lớp học có nguồn gốc. Tại điểm định nghĩa của biến này, cung cấp cho nó một giá trị nonzero. Trong các nhà xây dựng cơ sở cấp, gọi phương pháp này. Trong chính (), tạo ra một đối tượng dịch loại, và sau đó gọi của phương pháp in (). Giải thích kết quả. Tập thể dục 4: (3) tạo một lớp trừu tượng với phương pháp không có. Lấy một lớp học và thêm một phương pháp. Tạo ra một phương pháp tĩnh mà phải mất một tham chiếu đến lớp cơ sở, downcasts nó đến các lớp học có nguồn gốc, và gọi các phương pháp. Trong chính (), chứng minh rằng nó hoạt động. Bây giờ đặt tuyên bố trừu tượng cho phương pháp trong lớp cơ sở, do đó loại bỏ sự cần thiết cho các downcast. Giao diện Từ khoá giao diện mất khái niệm về abstractness một bước nữa. Từ khóa trừu tượng cho phép bạn tạo một hoặc nhiều phương pháp không xác định trong một lớp học-bạn cung cấp một phần của giao diện mà không cung cấp một thực hiện tương ứng. Việc thực hiện được cung cấp bởi inheritors. Từ khoá giao diện tạo ra một lớp học hoàn toàn trừu tượng, một trong đó cung cấp thực hiện không có ở tất cả. Nó cho phép tác giả để xác định phương pháp tên, danh sách đối số, và trở về loại, nhưng không có cơ quan phương pháp. Một giao diện cung cấp chỉ là một hình thức, nhưng không thực hiện. Một giao diện nói, "tất cả các lớp học thực hiện giao diện đặc biệt này sẽ xem xét như thế này." Vì vậy, bất kỳ mã sử dụng một giao diện đặc biệt biết những phương pháp có thể được gọi là cho giao diện đó, và đó là tất cả. Vì vậy, giao diện được sử dụng để thiết lập một "giao thức" giữa các lớp. (Một số ngôn ngữ lập trình hướng đối tượng có một từ khóa được gọi là giao thức để thực hiện tương tự.) Tuy nhiên, một giao diện là nhiều hơn chỉ là một lớp trừu tượng đưa đến cực độ, vì nó cho phép bạn thực hiện một biến thể của "đa kế thừa" bằng cách tạo ra một lớp mà có thể được upcast với nhiều hơn một loại cơ sở. 222 suy nghĩ trong Java Bruce Eckel Để tạo ra một giao diện, sử dụng từ khoá giao diện thay vì các từ khóa lớp. Như với một lớp học, bạn có thể thêm từ khóa khu vực trước khi từ khoá giao diện (nhưng chỉ nếu giao diện mà được định nghĩa trong một tập tin cùng tên). Nếu bạn rời khỏi khu vực từ khóa, bạn nhận được gói truy cập, do đó, giao diện là chỉ có thể sử dụng trong cùng một gói. Một giao diện cũng có thể chứa các lĩnh vực, nhưng đây là ngầm tĩnh và cuối cùng. Để thực hiện một lớp học phù hợp với một giao diện cụ thể (hoặc nhóm của giao diện), sử dụng từ khóa thực hiện, nói, "giao diện là những gì nó trông giống như, nhưng bây giờ tôi sẽ nói như thế nào nó hoạt động." Ngoài ra, có vẻ như thừa kế. Biểu đồ ví dụ cụ cho thấy điều này:
đang được dịch, vui lòng đợi..