Question sur la POO : empêcher l'héritage d'une fonction public ?
6 messages • Page 1 sur 1
Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics
Question sur la POO : empêcher l'héritage d'une fonction pub
Bonjour,
Est-il possible d'empêcher l'héritage d'une fonction à une classe fille... tout en gardant l'accès public par l'instanciation de la classe mère.
Exemple.
Je veux pouvoir accéder $oA->test();
Mais pas à $oB->test();
En gros j'aurais besoin d'un mot clé tel que inherited.
Est-ce que cette notion existe dans la programmation objet (en PHP et ailleurs) ?
Est-ce qu'il y a des solutions pour simuler cette notion ?
Merci.
Est-il possible d'empêcher l'héritage d'une fonction à une classe fille... tout en gardant l'accès public par l'instanciation de la classe mère.
Exemple.
- Code: Tout sélectionner
class A {
public function test() {
}
}
class B extends A {
}
Je veux pouvoir accéder $oA->test();
Mais pas à $oB->test();
En gros j'aurais besoin d'un mot clé tel que inherited.
Est-ce que cette notion existe dans la programmation objet (en PHP et ailleurs) ?
Est-ce qu'il y a des solutions pour simuler cette notion ?
Merci.
Hello,
en PHP il me semble que c'est le mot clé "final" qui sert à ça.
Edit : quoi que non, elle empêche la surcharge, pas l'appel.
En même temps si tu veux vraiment bloquer l'appel je pense que tu peux surcharger par une méthode private/protected. Mais... es tu sûr que ton héritage soit "justifié" en fait ?
en PHP il me semble que c'est le mot clé "final" qui sert à ça.
Edit : quoi que non, elle empêche la surcharge, pas l'appel.
En même temps si tu veux vraiment bloquer l'appel je pense que tu peux surcharger par une méthode private/protected. Mais... es tu sûr que ton héritage soit "justifié" en fait ?
Bool a écrit:en PHP il me semble que c'est le mot clé "final" qui sert à ça.
Edit : quoi que non, elle empêche la surcharge, pas l'appel.
J'ai eu la même réflexion
Bool a écrit:En même temps si tu veux vraiment bloquer l'appel je pense que tu peux surcharger par une méthode private/protected.
Intéressant je vais tester ça après avoir mangé rien que par curiosité même si c'est contraignant.
Bool a écrit:Mais... es tu sûr que ton héritage soit "justifié" en fait ?
A première vue oui.
Merci, je posterai le résultat du private même si je ne pense pas adopter cette solution.
dorian53 a écrit:Bool a écrit:Mais... es tu sûr que ton héritage soit "justifié" en fait ?
A première vue oui.
J'vais finir par répondre non.
En effet, en appréhendant la problématique différemment la question ne se pose plus.
- benjamin-reseauit-com
- Nouveau WRInaute
- Messages: 39
- Inscription: Jeu Jan 08, 2009 15:00
En java il y a effectivement final mais qui n'empêche pas l'utilisation.
Cependant il y a les interface pour faire ça :
si tu as
Et que tu n'utilises que des interfaces, tu auras ce que tu veux. Je ne critiquerai pas l'approche. C'est sans doute un problème de conception derrière...
pense aussi à la composition sans rendra peut être ton problème plus simple
[/quote][/code]
Cependant il y a les interface pour faire ça :
si tu as
- Code: Tout sélectionner
public class A implements AInterface {
public void MethodeVisibleDansA() {
}
public void MethodeToujoursVisible() {
}
}
public class B implements BInterface {
}
public interface CommonInterface {
public void MethodeToujoursVisible();
}
public interface AInterface extends CommonInterface {
public void MethodeVisibleDansA();
}
public interface BInterface extends CommonInterface {
}
Et que tu n'utilises que des interfaces, tu auras ce que tu veux. Je ne critiquerai pas l'approche. C'est sans doute un problème de conception derrière...
pense aussi à la composition sans rendra peut être ton problème plus simple
[/quote][/code]
6 messages • Page 1 sur 1
Formation recommandée sur ce thème :
Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.
Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.
Lectures recommandées sur ce thème :
- Affichage de la description DMOZ dans Yahoo
- Comment éviter de se faire voler son nom de domaine...
- Début du Full Crawl
- Google AdSense Calendar
- Live Search corrige le problème de referrers
- Google en bourse en 2004 ?
- Interview de l'équipe Google AdSense
- Référencement de sites multilingues
- Participez au projet 3x3 !
- MyMaps : des cartes personnalisées avec Google Maps
- Revendeur nom de domaine trop cher + Question Technique
- Php en poo ou procédurale ?
- Question php : la fonction include
- question php - fonction sort()
- référencement en php5, et POO- problème
- POO et vairable publique (global)
- Question sur Backlinks et la fonction "link:"
- Fonction avec le même nom, et appel de la fonction d'origine
- passage fonction strtotime en fonction mktime.... HELP
- Fonction Include et Fonction $_SERVER['REQUEST_URI']
- Clic le plus cher
- Cher Dmoz
- Ou acheter un .TV moins cher ?
- Hébergement pas cher
- Transporteur pas cher..?
Consultez la description détaillée des produits ou services de Google suivants : Google Answers, Google Book Search, Google Related Links
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités




le forum