Articles of oop

Création de classes en R: S3, S4, R5 (RC) ou R6?

Je suis en train de poster une question ouverte pour rechercher des avantages ou des inconvénients à la création de nouvelles classes dans R. D’après ce que je peux dire, il existe essentiellement quatre paradigmes différents lors de la création de classes dans R, S3, S4, R5 (ou RC). ), et R6. S3 est ce […]

Méthodes Singleton Instance vs Class

En travaillant récemment avec Objective-C et diverses bibliothèques écrites dessus, j’ai remarqué deux modèles singleton vraiment populaires. Une version récupère l’instance singleton et appelle ses méthodes d’instance et une autre version expose uniquement les méthodes de classe et ne vous donne jamais d’instance avec laquelle travailler. Tous ont pour but d’abstraire l’access à une seule […]

Pourquoi la méthode privée peut-elle être définitive?

Je me demande pourquoi ça va: class SomeClass { //–snip– private final void doStuff() { // private work here } } Si c’est privé, personne ne peut le remplacer, n’est-ce pas? Pourquoi est-il possible d’append un mot clé final si cela n’a aucun effet? (ou quelque chose me manque?)

Obtenir le nom de la classe parent?

class A(object): def get_class(self): return self.__class__ class B(A): def __init__(self): A.__init__(self) b = B() print b.get_class() Ce code imprimera . Comment puis-je obtenir le nom de la classe où la méthode a été définie (à savoir A )?

Classes de base non-Qt

J’utilise Qt (dont je suis nouveau) 4.8.2, avec Visual Studio, et j’ai créé une classe de base nommée “Contact”. Je ne veux pas que cette classe soit exclusive à Qt , donc mon intention était de créer une autre classe “QContact” qui héritera de “Contact”, et QObject et traitera toutes les affaires liées à Qt, […]

Pourquoi la méthode synchronisée n’est pas incluse dans l’interface

Lorsque j’utilise synchronized sur une méthode dans une interface, le compilateur émet une erreur. Pouvez-vous me dire pourquoi cela se produit? Quelle est la raison (logiquement) que la synchronized ne peut pas être appliquée à une méthode sur une interface ? J’ai essayé de faire une interface sur Threadpool dans ce lien . Aidez-moi à […]

Chaque object doit-il avoir une interface et tous les objects couplés librement?

De ce que j’ai lu, la meilleure pratique est d’avoir des classes basées sur une interface et de coupler les objects, afin de faciliter la réutilisation du code et les tests unitaires. Est-ce correct et est-ce une règle qui devrait toujours être suivie? La raison pour laquelle je pose la question est que j’ai récemment […]

Quelle est la différence entre une classe abstraite et une interface?

Supposons que nous ayons deux méthodes M1() et M2() dans une interface. Une classe abstraite possède également les deux mêmes méthodes abstraites. Si une classe implémente cette interface ou hérite de la classe abstraite, elle devra implémenter les deux méthodes. Donc pour moi, il semble qu’une interface ou une classe abstraite se comporte de la […]

Le polymorphism ou les conditions favorisent-ils une meilleure conception?

Je suis récemment tombé sur cette entrée dans le blog de test Google sur les directives pour écrire plus de code à tester . J’étais d’accord avec l’auteur jusqu’à présent: Favoriser le polymorphism par rapport aux conditions: Si vous voyez une déclaration de changement, vous devriez penser à des polymorphisms. Si vous voyez la même […]

Que faire dans un constructeur?

Je veux vous demander vos meilleures pratiques concernant les constructeurs en C ++. Je ne suis pas tout à fait sûr de ce que je devrais faire dans un constructeur. Dois-je l’utiliser uniquement pour les initialisations d’atsortingbuts, en appelant les constructeurs parents, etc.? Ou peut-être même y mettre des fonctions plus complexes, comme lire et […]