begin process at 2012 02 11 04:22:04
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Tutoriaux

 > CLASSE ABSTRAITE

CLASSE ABSTRAITE


 Information sur la source

Note :
7,5 / 10 - par 2 personnes
7,50 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Tutoriaux Source .NET ( DotNet ) Classé sous :abstraite, abstract Niveau :Débutant Date de création :02/04/2003 Date de mise à jour :02/04/2003 22:36:44 Vu :16 537

Auteur : DarkDaemon

Ecrire un message privé
Commentaire sur cette source (8)
Ajouter un commentaire et/ou une note

 Description

Le mot clé abstract sert à définir une méthode dans une classe qui sera obligatoirement implémentée dans une sous-classe (qui hérite de cette classe), sauf si cette classe est elle mème abstraite.
De plus, il est impossible d'instancier une classe abstraite.

Source

  • using System;
  • class ClassePrincipale : Object
  • {
  • public static void Main()
  • {
  • ClasseTest test=new ClasseTest();
  • test.Méthode2();
  • }
  • }
  • /*
  • ** Une classe qui possède une méthode abstraite doit elle mème
  • ** être déclarée abstraite.
  • */
  • abstract class ClasseAbstraite
  • {
  • public void Méthode1()
  • {
  • }
  • public abstract void Méthode2();
  • /*
  • ** Une sous-classe de "ClasseAbstraite" doit implémenter une
  • ** méthode "Méthode2", sans arguments et sans valeur de retour.
  • */
  • }
  • class ClasseTest : ClasseAbstraite
  • {
  • public override void Méthode2()
  • //override sert à indiquer une redéfinition de méthode.
  • {
  • Console.Out.WriteLine("Méthode2.");
  • }
  • }
using System;


class ClassePrincipale : Object
{
   public static void Main()
   {
      ClasseTest test=new ClasseTest();
      test.Méthode2();
   }
}


/*
** Une classe qui possède une méthode abstraite doit elle mème
** être déclarée abstraite.
*/
abstract class ClasseAbstraite
{
   public void Méthode1()
   {
   }

   public abstract void Méthode2();
   /*
   ** Une sous-classe de "ClasseAbstraite" doit implémenter une
   ** méthode "Méthode2", sans arguments et sans valeur de retour.
   */

}


class ClasseTest : ClasseAbstraite
{
   public override void Méthode2()
   //override sert à indiquer une redéfinition de méthode.
   {
      Console.Out.WriteLine("Méthode2.");
   }
}

 Conclusion

Si vous voulez qu'une sous classe implémente des méthodes sans d'autres membres(des variables,des constantes ...), utilisez les interfaces.


 Sources du même auteur

Source .NET (Dotnet) LES DÉLÉGUÉS
Source .NET (Dotnet) TRUCS ET ASTUCES POUR LES CLASSES
Source .NET (Dotnet) LES INTERFACES

 Sources de la même categorie

Source avec Zip Source .NET (Dotnet) AFFICHAGE DE VALEUR PROVENANT D'U THREAD DANS UN FORMULAIRE par Nyuki
Source avec Zip Source avec une capture Source .NET (Dotnet) DESIGNER DE WORKFLOW WF4 WPF AVEC RIBBON OFFICE par jmenfous
Source avec Zip Source .NET (Dotnet) ENT LIB - VALIDATION BLOC DEMO par bernie666
Source avec Zip Source .NET (Dotnet) CRÉER UN ADDIN AUTOMATION POUR EXCEL par ShareVB
Source .NET (Dotnet) XML VERS TREENODE / TREENODE VERS XML par ip2x

 Sources en rapport avec celle ci

Source avec Zip Source .NET (Dotnet) LES DESIGN PATTERNS - MODÈLE FABRIQUE ABSTRAITE (ABSTRACT FA... par Kangoo06
Source avec Zip Source .NET (Dotnet) NOTION HÉRITAGE AVEC UTILISATION DE MÉTHODE ABSTRACT par Nibal
Source avec Zip Source .NET (Dotnet) CLASSE ABSTRAITE ET MDI par kernell

Commentaires et avis

Commentaire de gg00xiv le 02/04/2003 23:07:28

c rapide, concis, et comprehensible ...

Commentaire de TheSaib le 03/04/2003 01:27:20 administrateur CS

Ca explique bien mais tu ne montres pas l'interer d'utiliser l'abstraction.

TheSaib

Commentaire de superpa le 03/04/2003 12:42:54

Juste une précision:
Dans une interface on peut déclarer des variables et des constantes.
Alors quelle est la différence entre une classe abstraite et une interface?

Dans une interface, toutes les méthodes sont abstraites tandis qu'une classe peut contenir certaines méthodes non vides. De plus, une classe ne peut dériver d'au maximum une autre classe tandis qu'elle peut implémenter plusieurs interfaces.

Sinon, c'est vrai que c'est bien fait.
J'espère avoir été clair,
P-A

Commentaire de gg00xiv le 03/04/2003 23:54:31

une interface ne peut en aucun cas contenir de champs, c'est bien la le problème

Commentaire de TheSaib le 04/04/2003 00:16:45 administrateur CS

malheuresement elle peut :)
C'est bien là le truc cool :)
ces champs s'apellent des attributs :
exemple :
(dans l'interface)
IScenario Owner{get;set;}
(dans la classe qui l'implemente)
public IScenario Owner
{
get{return _owner;}
set{_owner=value;}
}

avec un champs :
private IScenario _owner;

Un attribut a besoin d'un champs :) mais un attribut peut etre definit dans une interface.


Commentaire de TheSaib le 04/04/2003 00:20:40 administrateur CS

Enfin vous ni tort ni raison , mais les attributs sont des bon comprimis pour declarer des "champs" dans des interfaces.

Commentaire de gg00xiv le 04/04/2003 23:12:42

erf, oui les propriétés ... je faisais références aux variables ou constantes ...

Commentaire de TheSaib le 05/04/2003 13:47:01 administrateur CS

oui je sais , c'est pour çà que je disait que c'etait un bon compromis :)

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Fenêtre abstraite [ par OlivierM ] Bonjour à tousJ'ai créé une fenêtre abstraite. Le problème est que les fenêtres qui héritent, en mode "design", cherche à instancier la fenêtre parent classe static dans classe static [ par linx20 ] Voila en gros je veux inclure une classe static ds mon autre classe static : public abstract class MaClasseStatic1{public static MaClasseStatic2 st2;/ instanciation IWebBrowser2 [ par netTPH ] Salut !je n'arrive pas à créer un objet IWebBrowser2...je viens à peine de me mettre en c# donc, j'ai surement écrit une bêtise quelconque Voilà le co Abstract et forms [ par RMI ] Bonjour, J'utilise une windows form abstraite (Form1), le probl&#232;me le desidner de VS2003 ne peut pas m'afficher&nbsp; les form d&#233;riv&#233;e Dérivation de classe abstraite [ par yoh_777 ] Je voudrais simplement dériver une classe abstraite ayant un constructeur comportant un paramètre.  Voici mon programme  <div style="border: 1pt d Problème de méthode abstract [C#] [ par therainbow3 ] Bonjour, J'ai créé une classe mère contenant une méthode abstract qui va être utiliser par la suite par les classes filles. Ces classes filles retourn Sérialiser une classe dérivée avec une propriété redéfinie. [ par EmacLi ] Bonjour,J'ai une classe B qui dérive d'une classe A. J'ai ajouté à une propriété de la classe B le mot clé "new" pour la redéfinir (nom de la prop. id Interface ou classe abstraite? [ par Kite37 ] Bonjour,Je suis en pleine migration VB.NET / C# et quelques chose m'interpelle un peu.En effet, dans les ouvrages que j'ai (et sur de nombreuses référ Conversion d'un type d'une classe en la classe abstraite dont il herite [ par milo2009 ] Bonjour, j'ai une methode qui retourne une classe abstraite. Dans la methode, j'instancie une classe qui herite de la classe abstraite attendu comme


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,686 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales