ПредишенСледващото

Какво е абстрактен клас? Интерфейсът е различен от абстрактен клас. Примери за изпълнение на абстрактен клас и интерфейс в Perl. Използването клас :: Interface

Абстрактен клас в обектно-ориентиран - е базов клас, който не включва създаването на техните парчета. Абстрактен клас може да съдържа абстрактно методи и атрибути.

Абстрактен клас е ярък демонстрация на един от основните принципи на обектно-ориентиран - полиморфизъм.

В някои езици за програмиране, използването на абстрактни класове е забранено. В някои - това е позволено. Perl, както винаги, в средата. Възможно е да се прилагат абстрактен клас стандартни езикови черти. Но няма специални проекти за това, като например в PHP или Java.

Абстрактен клас в PHP:

Използването на абстрактни класове е удобно, тъй като той може да бъде поставен в този клас всички функции и методи, които ще бъдат необходими по-късно и в много други класове. Абстрактен клас - това е чудесно решение, което ще ви спести от дублиране на код.

Защо абстрактни класове и интерфейси

Да речем, че има програма, която сваля файлове от отдалечен сървър и да ги обработва.

Първо, можете да качите прост TXT файлове, четене на данни, да ги съхранявате в база данни, а след това прехвърляне на файла в директорията с обработените файлове. За да обработим вас файлове, използвайки специален клас Документ.

След това идва на клиента си и каза, че след месец ще трябва да се справят не само TXT-файлове, но XML. И след няколко месеца се добавя към док и PDF формат. Ако текстов формат и XML нещо друго подобно, обработка док и PDF вече се откроява от общия поток. Сега можете да създадете да се справят с всеки документ ви клас: DocumentXML.pm. DocumentPDF.pm т.н. Започва дублира код. Има объркване в манипулатори. В крайна сметка, ти се обадя на метода за отпечатване на CSV файл и програма забива, защото сте забравили да добавите в (метод DocumentCSV.pm принтер).

Най-разумното в този случай, ще се превърне Document.pm в интерфейса, който ще посочите списък с методи, необходими за определянето на всеки подклас. В същото време, интерфейс клас е абстрактен клас и няма да бъдат създадени своите случаи по време на изпълнение.

Сега, ако сме забравили да включат всеки метод, ще стане ясно от първия път, за да стартирате програмата.

Освен това, ако някои от техниките, ще бъде обща за всички подгрупи, можете да ги определят в абстрактен клас. Например, методи за копиране и прехвърляне на файлове в различни директории, или пощенски и др

Изпълнение на интерфейси и абстрактни класове в Perl използване клас :: Interface

Клас :: Interface - лесно модул, който помага да се направи прилагането на интерфейси и абстрактни класове и в Пърл бизнес прост и приятен.

Лос. между другото, също така дава възможност да се опрости прилагането на интерфейси. Пример лос вече посочено по-горе. Но Class :: интерфейс. в контраст с Лос. малък и прост модул, а не сложна и трудна система.

За да създадете абстрактни класове и интерфейси, модулът предлага 4 съчетания:

  • # 038; интерфейс () - вярващи го наричат ​​клас интерфейс.
  • # 038; оръдия () - много пъти името на интерфейса се предава като параметър, и се обадете на класа, за да се провери дали всички необходими техники.
  • # 038; абстрактно () - преобразува да се обадите на клас абстрактно.
  • # 038; простира () - зарежда данните, посочени абстрактен клас, и проверки за наличието на абстрактно методите за разговори клас.

което трябва да се създаде интерфейс за:

За да създадете абстрактен клас, трябва да:

  • посочената употреба клас :: интерфейс;
  • подпрограма се нарича # 038; абстрактно ()
  • най-малко една секторна програма беше обявена

Въвеждането на интерфейс с помощта на клас :: Interface

Свързани статии

Подкрепете проекта - споделете линка, благодаря!