CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[php objet] héritage classe mère unique

sd460
sd460
Niveau 10
21 mars 2010 à 15:36:57

Bonjour,

Je me retrouve avec le code php d'un portail que je suis en train de parcourir.
Il y a un truc qui me surprend, c'est que toutes les classes qui sont définies héritent (par transitivité tout du moins) d'une seule et unique classe mère qui se trouve être vide :

la classe mère :

<?php
abstract class rootClass {
}
?>

exemple de classe :

class Mysql extends rootClass {
...blablablabla...
}

Ma question est : quelle est l'intérêt de tout faire hériter d'une unique classe mère :question: (alors que l'on aurait pu tout à fait se passer d'héritage pour la plupart des classe je suppose...)
S'agit-il d'un design Pattern classique :question:

Je ne suis pas forcément familier du php, donc peut être que quelque chose m'échappe ?

Merci pour vos éclaircissement :)

chris_27
chris_27
Niveau 10
21 mars 2010 à 19:30:21

« quel est l'intérêt de tout faire hériter d'une unique classe mère :question: » :d) montrer qu'on a bien retenu la leçon sur les classes abstraites et l'héritage. Ou encore obfuscater le code.

En tout cas, je trouve ça complètement idiot de définir une classe vide.

sd460
sd460
Niveau 10
22 mars 2010 à 18:44:25

en un sens ca me rassure sur ma propre compréhension du cours!
merci

_skip
_skip
Niveau 10
22 mars 2010 à 19:49:15

C'est très courant d'avoir tous les objets d'un framework qui héritent d'un superobjet.
C'est le cas en .Net, Java, et en C++ dans Qt.

Mais ceci sert à définir une interface commune, dans java et dotnet on retrouve notamment :
- toString(), equals(Object), hashCode

- Dans Qt, toute la mécanique de signaux et les relations parent-enfants passent par là.

Ceci dit, ce ne sont clairement pas des classes vides contrairement à ton exemple. Ce qui est pas compréhensible ici, c'est d'avoir un héritage qui ne définit rien. On ne peut même pas dire que c'est pour gagner en typage étant donné que le typage est limite une blague en PHP.

Bref, si tu veux apprendre la POO, utilise ce que tu veux mais pas PHP. Quant à cette pratique dans ton exemple, à mon avis elle rime à rien.

sd460
sd460
Niveau 10
23 mars 2010 à 02:18:07

j'ai peut-être une hypothèse quand au pourquoi (mais c'est peu pertinent de toute facon!).
Le portail dont je parle avait un ancètre codé en php3 (? pas sur mais c'est vieux, je crois que c'était le début de l'objet en php). En on retrouve cette archi avec une classe vide qui fait hériter toutes les autres. Est-ce que pour une vieille version de php , ce n'était pas un pré-requis ? Je me pose la question pour connaitre le pourquoi du comment, mais ce n'est pas non plus très important ;)

Sous forums
  • Aide à l'achat Mac
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware
La vidéo du moment