Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Sens
IAmBoskiM
post 12.07.2016, 20:55:31
Post #1





Grupa: Zarejestrowani
Postów: 72
Pomógł: 11
Dołączył: 8.05.2016

Ostrzeżenie: (0%)
-----


Witam.

Nie rozumiem paru rzeczy w programowaniu obiektowym, mianowicie sensu interfejsów i abstrakcji. Przecież taki interfejs w ogóle jest niepotrzebny i tylko zwiększa (nieznacznie) rozmiar naszego pliku, albowiem on tylko wymusza zdefiniowanie jakiejś metody. Ogólnie tą metodę możemy zdefiniować bez żadnego interfejsu - efekt ten sam.

  1. <?php
  2. //******************** kod 1
  3. interface intf {
  4. public function example();
  5. }
  6. class klasa implements intf {
  7. public function example() {
  8. echo 'Example function';
  9. }
  10. }
  11. //********************
  12. //******************** kod 2
  13. class klasa {
  14. public function example() {
  15. echo 'Example function';
  16. }
  17. }
  18. //********************
  19. // Efekt? Ten sam, a zatem po co te interfejsy??
  20. ?>


Abstrakcji też nie rozumiem. Przecież ów deklaracja jest absolutnie niepotrzebna; można to zrobić w klasie, która coś dziedziczy.

  1. <?php
  2. //*************** kod 1
  3. abstract class abstr {
  4. abstract public function absfunc ();
  5. public function example () {
  6. echo 'example';
  7. }
  8. }
  9. class klasa extends abstr {
  10. public function absfunc () {
  11. echo 'abstr';
  12. }
  13. }
  14. //***************
  15. //*************** kod 2
  16. class notabstr {
  17. public function example () {
  18. echo 'example';
  19. }
  20. }
  21. class klasa extends notabstr {
  22. public function absfunc () {
  23. echo 'abstr';
  24. }
  25. }
  26. //***************
  27. // Efekt? Ten sam...
  28. ?>


Ogólnie nie widzę sensu w użytku tego - jest to używane tylko do debugowania albo przejrzystości czy jak? Bo ogółem nie ma to innego sensu raczej.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 25.05.2024 - 07:14