Notes 3 Résumé
Notes 3 Résumé
Notes 3 Résumé
Fadel TOURÉ 14
INTERFACES
interface HasText {
string Text { get; set; }
}
interface Readable {
string Read();
}
class TextField : HasText, Readable {
private String text;
public string Text{
get { return text; }
set { text = value; }
}
public string Read() {
return "here is the " + Text;
}
}
Voir l’implémentation d’interface membre ici
https://docs.microsoft.com/en-us/dotnet/csharp/tour-of-csharp/interfaces
Fadel TOURÉ 20
HÉRITAGE
• Une classe fille n’hérite pas des constructeurs de la classe de
base. Elle en redéfinit un et appelle les constructeurs de la
mère grâce à :base()
public class Point {
public int x, y;
public Point(int x, int y) {
this.x = x; this.y = y;
}
}
public class Point3D: Point {
public int z;
public Point3D(int x, int y, int z) : base(x, y) {
this.z = z;
}
}
Fadel TOURÉ 22
ABSTRACTION
public abstract class Figure{
protected abstract double Perimeter{get;}
public abstract void Draw();
}
Fadel TOURÉ 25
REDÉFINITION & ABSTRACTION
• Une méthode abstraite est naturellement une
méthode virtuelle, elle est faite pour être redéfinie.
– Une méthode abstraite n’a besoin pas d’être déclarée
virtual.
– Les classes filles ne redéfinissant pas toutes les méthodes
virtual de leur mère sont de facto abstraites.
• La surdéfinition (overloading) donne une nouvelle
description du comportement initial.
– même nom, signature différente.
• La redéfinition (orverriding) donne une nouvelle
version du comportement initial.
– même signature, comportement diffèrent selon l’objet.
Fadel TOURÉ 26