InterfacesInterfaces and abstract classes provide more structured way  dịch - InterfacesInterfaces and abstract classes provide more structured way  Việt làm thế nào để nói

InterfacesInterfaces and abstract c

Interfaces
Interfaces and abstract classes provide more structured way to separate interface from implementation.
Such mechanisms are not that common in programming languages. C++, for example, only has indirect support for these concepts. The fact that language keywords exist in Java indicates that these ideas were considered important enough to provide direct support.
First, we’ll look at the abstract class, which is a kind of midway step between an ordinary class and an interface. Although your first impulse will be to create an interface, the abstract class is an important and necessary tool for building classes that have some unimplemented methods. You can’t always use a pure interface.
Abstract classes and methods
In all the “instrument” examples in the previous chapter, the methods in the base class Instrument were always “dummy” methods. If these methods are ever called, you’ve done something wrong. That’s because the intent of Instrument is to create a common interface for all the classes derived from it.
In those examples, the only reason to establish this common interface is so that it can be expressed differently for each different subtype. It establishes a basic form, so that you can say what’s common for all the derived classes. Another way of saying this is to call Instrument an abstract base class, or simply an abstract class.
If you have an abstract class like Instrument, objects of that specific class almost always have no meaning. You create an abstract class when you want to manipulate a set of classes through its common interface. Thus, Instrument is meant to express only the interface, and not a particular implementation, so creating an Instrument object makes no sense, and you’ll probably want to prevent the user from doing it. This can be accomplished by making all methods in Instrument generate errors, but that delays the information until run time and requires reliable exhaustive testing on the user’s part. It’s usually better to catch problems at compile time.
Java provides a mechanism for doing this called the abstract method. 1 This is a method that is incomplete; it has only a declaration and no method body. Here is the syntax for an abstract method declaration.
abstract void f( );
A class containing abstract methods is called an abstract class. If a class contains one or more abstract methods, the class itself must be qualified as abstract. (Otherwise, the compiler gives you an error message.)
If an abstract class is incomplete, what is the compiler supposed to do when someone tries to make an object of that class? It cannot safely create an object of an abstract class, so you get
                                                              1 For C++ programmers, this ist he analogue of C++’s pure virtual function.
 
an error message from the compiler. This way, the compiler ensures the purity of the abstract class, and you don’t need to worry about misusing it.
If you inherit from an abstract class and you want to make objects of the new type, you must provide method definitions for all the abstract methods in the base class. If you don’t (and you may choose not to), then the derived class is also abstract, and the compiler will force you to qualify that class with the abstract keyword.
It’s possible to make a class abstract without including any abstract methods. This is useful when you’ve got a class in which it doesn’t make sense to have any abstract methods, and yet you want to prevent any instances of that class.
The Instrument class from the previous chapter can easily be turned into an abstract class. Only some of the methods will be abstract, since making a class abstract doesn’t force you to make all the methods abstract. Here’s what it looks like:
0/5000
Từ: -
Sang: -
Kết quả (Việt) 1: [Sao chép]
Sao chép!
Giao diệnGiao diện và các lớp trừu tượng cung cấp hơn có cấu trúc cách để tách giao diện từ thực hiện. Cơ chế như vậy không phải là phổ biến trong ngôn ngữ lập trình. C + +, ví dụ, chỉ có hỗ trợ gián tiếp cho các khái niệm. Thực tế rằng từ khóa ngôn ngữ tồn tại trong Java chỉ ra rằng những ý tưởng được coi là quan trọng, đủ để cung cấp hỗ trợ trực tiếp. Trước tiên, chúng tôi sẽ xem xét lớp trừu tượng, mà là một loại bước midway giữa một lớp học thông thường và một giao diện. Mặc dù xung đầu tiên của bạn sẽ là để tạo ra một giao diện, lớp trừu tượng là một công cụ quan trọng và cần thiết để xây dựng các lớp học có một số phương pháp unimplemented. Bạn không thể luôn luôn sử dụng một giao diện tinh khiết.Tóm tắt lớp học và phương pháp Trong tất cả các ví dụ "công cụ" trong chương trước, những phương pháp trong lớp cơ sở công cụ đã là luôn luôn "giả" phương pháp. Nếu những phương pháp này được gọi là bao giờ hết, bạn đã thực hiện một cái gì đó sai. Đó là bởi vì mục đích của nhạc cụ là để tạo ra một giao diện chung cho tất cả các lớp học bắt nguồn từ nó. Trong những ví dụ, lý do duy nhất để thiết lập giao diện phổ biến này là do đó nó có thể được thể hiện một cách khác nhau cho mỗi phiên bản khác nhau. Nó thiết lập một hình thức cơ bản, do đó bạn có thể nói những gì là phổ biến cho tất cả các lớp học có nguồn gốc. Một cách khác để nói điều này là để gọi cụ một lớp cơ sở trừu tượng, hoặc chỉ đơn giản là một lớp trừu tượng. Nếu bạn có một lớp trừu tượng như dụng cụ, các đối tượng của lớp cụ thể đó hầu như luôn luôn có không có ý nghĩa. Bạn tạo một lớp trừu tượng khi bạn muốn để thao tác một tập hợp các lớp học thông qua giao diện phổ biến của nó. Vì vậy, công cụ là có nghĩa là để thể hiện chỉ giao diện, và không phải là một thực hiện cụ thể, do đó, việc tạo ra một đối tượng cụ làm cho không có ý nghĩa, và có thể bạn sẽ muốn ngăn người dùng làm việc đó. Điều này có thể được thực hiện bằng cách làm tất cả phương pháp trong công cụ tạo ra lỗi, nhưng đó là sự chậm trễ thông tin cho đến khi thời gian chạy và yêu cầu kiểm tra đầy đủ đáng tin cậy trên một phần của người dùng. Nó là thường là tốt hơn để nắm bắt vấn đề tại thời gian biên dịch. Java cung cấp một cơ chế để làm điều này được gọi là phương pháp trừu tượng. 1 đây là một phương pháp là không đầy đủ; Huyện này có chỉ là một tuyên bố và không có cơ thể phương pháp. Đây là cú pháp cho một tuyên bố trừu tượng phương pháp. trừu tượng vô hiệu f (); Một lớp có chứa trừu tượng phương pháp được gọi là một lớp trừu tượng. Nếu một lớp có chứa một hoặc nhiều phương pháp trừu tượng, các lớp học chính nó phải có đủ điều kiện là tóm tắt. (Nếu không, trình biên dịch cung cấp cho bạn một thông báo lỗi.) Nếu một lớp trừu tượng là không đầy đủ, trình biên dịch phải làm gì khi ai đó cố gắng để làm cho một đối tượng của lớp đó? Nó một cách an toàn không thể tạo ra một đối tượng của một lớp trừu tượng, do đó, bạn nhận được 1 cho các lập trình C++, ist này ông tương tự c++ của tinh khiết ảo chức năng.  một thông báo lỗi từ trình biên dịch. Bằng cách này, trình biên dịch đảm bảo độ tinh khiết của lớp trừu tượng, và bạn không cần phải lo lắng về misusing nó. Nếu bạn thừa kế từ một lớp trừu tượng và bạn muốn làm cho các đối tượng của kiểu mới, bạn phải cung cấp phương pháp định nghĩa cho tất cả những phương pháp trừu tượng trong lớp cơ sở. Nếu bạn không (và bạn có thể chọn không để), sau đó các lớp học có nguồn gốc là cũng trừu tượng, và trình biên dịch sẽ buộc bạn phải vượt qua vòng loại lớp đó với từ khóa trừu tượng. Nó có thể làm cho một lớp trừu tượng không bao gồm bất kỳ phương pháp trừu tượng. Điều này là hữu ích khi bạn đã có một lớp học trong đó nó không có ý nghĩa để có bất kỳ phương pháp trừu tượng, và được bạn muốn ngăn chặn bất kỳ trường hợp của lớp đó. Các lớp học nhạc cụ từ các chương trước một cách dễ dàng có thể được biến thành một lớp trừu tượng. Chỉ một số trong những phương pháp sẽ được trừu tượng, kể từ khi làm một lớp trừu tượng không buộc bạn phải làm cho tất cả các phương pháp trừu tượng. Dưới đây là những gì nó trông giống như:
đang được dịch, vui lòng đợi..
Kết quả (Việt) 2:[Sao chép]
Sao chép!
Giao diện
giao diện và lớp trừu tượng cung cấp cấu trúc chặt chẽ hơn với giao diện từ việc thực hiện riêng biệt.
Cơ chế như vậy không phải là phổ biến trong các ngôn ngữ lập trình. C ++, ví dụ, chỉ có hỗ trợ gián tiếp cho các khái niệm này. Thực tế là từ khóa ngôn ngữ tồn tại trong Java chỉ ra rằng những ý tưởng được coi là quan trọng đủ để cung cấp hỗ trợ trực tiếp.
Đầu tiên, chúng ta sẽ xem xét các lớp trừu tượng, mà là một loại bước giữa chừng giữa một lớp thông thường và một giao diện. Mặc dù phản ứng đầu tiên của bạn sẽ được để tạo ra một giao diện, lớp trừu tượng là một công cụ quan trọng và cần thiết cho việc xây dựng các lớp học đó có một số phương pháp chưa được thực hiện. Bạn có thể không luôn luôn sử dụng một giao diện tinh khiết.
Các lớp trừu tượng và phương pháp
Trong tất cả các "cụ" ví dụ trong các chương trước, các phương pháp trong các lớp cơ sở Instrument luôn "giả" phương pháp. Nếu những phương pháp này được gọi là bao giờ, bạn đã làm gì đó sai. Đó là bởi vì mục đích của Cụ là để tạo ra một giao diện chung cho tất cả các lớp dẫn xuất từ nó.
Trong những ví dụ, lý do duy nhất để thiết lập giao diện phổ biến này là để nó có thể được thể hiện khác nhau cho mỗi phân nhóm khác nhau. Nó thiết lập một hình thức cơ bản, do đó bạn có thể nói những gì phổ biến cho tất cả các lớp dẫn xuất. Một cách khác để nói rằng điều này là để gọi Instrument một lớp cơ sở trừu tượng, hoặc chỉ đơn giản là một lớp trừu tượng.
Nếu bạn có một lớp trừu tượng như cụ, các đối tượng của lớp cụ thể hầu như luôn luôn không có ý nghĩa. Bạn tạo một lớp trừu tượng khi bạn muốn thao tác một tập hợp các lớp thông qua giao diện phổ biến của nó. Như vậy, cụ được có nghĩa là để thể hiện chỉ có giao diện, và không phải là một thực hiện cụ thể, do đó tạo ra một đối tượng cụ làm cho không có ý nghĩa, và có thể bạn sẽ muốn để ngăn chặn người dùng từ làm việc đó. Điều này có thể được thực hiện bằng cách làm cho tất cả các phương pháp trong Instrument tạo ra lỗi, nhưng mà trì hoãn việc thông tin cho đến thời gian chạy và yêu cầu kiểm tra toàn diện đáng tin cậy trên một phần của người sử dụng. Nó thường là tốt hơn để nắm bắt các vấn đề tại thời gian biên dịch.
Java cung cấp một cơ chế cho việc này được gọi là phương pháp trừu tượng. 1 Đây là một phương pháp đó là không đầy đủ; nó chỉ có một tuyên bố và không có phương pháp cơ thể. Dưới đây là cú pháp đơn khai báo phương thức trừu tượng.
Trừu tượng void f ();
Một lớp học có chứa các phương thức trừu tượng được gọi là một lớp trừu tượng. Nếu một lớp có chứa một hoặc nhiều phương thức trừu tượng, các lớp học chính nó phải có đủ điều kiện như là trừu tượng. (Nếu không, các trình biên dịch cung cấp cho bạn một thông báo lỗi.)
Nếu một lớp trừu tượng là không đầy đủ, trình biên dịch phải làm là gì khi ai đó cố gắng để làm cho một đối tượng của lớp đó? Nó có thể không an toàn tạo ra một đối tượng của một lớp trừu tượng, vì vậy bạn sẽ có được
                                                              1 Đối với C ++ lập trình, điều này ist ông tương tự của hàm thuần ảo C ++ 's. Một thông báo lỗi từ trình biên dịch. Bằng cách này, các trình biên dịch đảm bảo độ tinh khiết của lớp trừu tượng, và bạn không cần phải lo lắng về lạm dụng nó. Nếu bạn thừa hưởng từ một lớp trừu tượng và bạn muốn làm cho đối tượng của kiểu mới, bạn phải cung cấp các định nghĩa phương pháp cho tất cả các phương thức trừu tượng trong lớp cơ sở. Nếu bạn không (và bạn có thể chọn không làm), sau đó các lớp dẫn xuất cũng là trừu tượng, và trình biên dịch sẽ buộc bạn phải hội đủ điều kiện cho lớp với từ khóa trừu tượng. Nó đã có thể tạo một lớp trừu tượng mà không bao gồm bất kỳ phương thức trừu tượng. Điều này rất hữu ích khi bạn đã có một lớp, trong đó nó không có ý nghĩa để có bất kỳ phương pháp trừu tượng, và bạn muốn ngăn chặn bất kỳ trường hợp của lớp đó. Lớp Instrument từ các chương trước có thể dễ dàng biến thành một trừu tượng lớp. Chỉ có một số phương pháp sẽ là trừu tượng, kể từ khi thực hiện một lớp trừu tượng không bắt buộc bạn phải làm cho tất cả các phương thức trừu tượng. Dưới đây là những gì nó trông giống như:
 



đang được dịch, vui lòng đợi..
 
Các ngôn ngữ khác
Hỗ trợ công cụ dịch thuật: Albania, Amharic, Anh, Armenia, Azerbaijan, Ba Lan, Ba Tư, Bantu, Basque, Belarus, Bengal, Bosnia, Bulgaria, Bồ Đào Nha, Catalan, Cebuano, Chichewa, Corsi, Creole (Haiti), Croatia, Do Thái, Estonia, Filipino, Frisia, Gael Scotland, Galicia, George, Gujarat, Hausa, Hawaii, Hindi, Hmong, Hungary, Hy Lạp, Hà Lan, Hà Lan (Nam Phi), Hàn, Iceland, Igbo, Ireland, Java, Kannada, Kazakh, Khmer, Kinyarwanda, Klingon, Kurd, Kyrgyz, Latinh, Latvia, Litva, Luxembourg, Lào, Macedonia, Malagasy, Malayalam, Malta, Maori, Marathi, Myanmar, Mã Lai, Mông Cổ, Na Uy, Nepal, Nga, Nhật, Odia (Oriya), Pashto, Pháp, Phát hiện ngôn ngữ, Phần Lan, Punjab, Quốc tế ngữ, Rumani, Samoa, Serbia, Sesotho, Shona, Sindhi, Sinhala, Slovak, Slovenia, Somali, Sunda, Swahili, Séc, Tajik, Tamil, Tatar, Telugu, Thái, Thổ Nhĩ Kỳ, Thụy Điển, Tiếng Indonesia, Tiếng Ý, Trung, Trung (Phồn thể), Turkmen, Tây Ban Nha, Ukraina, Urdu, Uyghur, Uzbek, Việt, Xứ Wales, Yiddish, Yoruba, Zulu, Đan Mạch, Đức, Ả Rập, dịch ngôn ngữ.

Copyright ©2025 I Love Translation. All reserved.

E-mail: