Programmation orientée objet avancée

  • Published on
    22-Feb-2017

  • View
    985

  • Download
    5

Embed Size (px)

Transcript

<p>Diapositive 1</p> <p>La Programmation OrienteObjet Avance</p> <p>Dans ce cours, nous allons voir :</p> <p>Leon 1 : La programmation oriente objet avance.</p> <p>Atelier.</p> <p>Leon 1 : La programmation oriente objet avance.</p> <p>Leon 1 : La programmation oriente objet avance.Hritage.</p> <p> Interfaces.</p> <p>Polymorphisme.</p> <p>1. Hritage. Lhritage est le concept en vertu duquel des attributs et oprations communes dune classe de base sont rutiliss dans une classe drive. </p> <p> Lhritage spcifie une relation &lt; est un type de &gt;.</p> <p> Plusieurs classes partagent les mmes attributs et oprations, ce qui permet une rutilisation efficace de code.</p> <p> Si la classe de base ne contient pas de code dimplmentation et nest jamais instancie en tant quobjet, on dit quil sagit dune classe abstraite.</p> <p> On dit hriter dune classe, et implmenter une interface.</p> <p>Leon 1 : La programmation oriente objet avance.</p> <p>5</p> <p>1. Hritage. La surcharge.</p> <p> La substitution.Leon 1 : La programmation oriente objet avance.</p> <p>6</p> <p>1. Hritage.Leon 1 : La programmation oriente objet avance.</p> <p>Classe de baseClasse driveClasse driveClasse de base et driveClasse driveHritageHritageHritageHritageclass Chatclass Tigre : Chatclass TigreBlanc : Tigreclass Jaguar : Chatclass Lion : Chat</p> <p>7</p> <p>1. Hritage.Leon 1 : La programmation oriente objet avance.</p> <p>[C#]class ClasseBase{ //Placer des dfinitions de classe ici.}</p> <p>[Vb.Net]Class ClasseBase Placer des dfinitions de classe ici.End ClassDfinition</p> <p>[C#]class ClasseDerivee : ClasseBase{ //Placer des dfinitions de classe ici.}</p> <p>[Vb.Net]Class ClasseDerivee : Inherits ClasseBase Placer des dfinitions de classe ici.End ClassHritage</p> <p>8</p> <p>2. Interfaces. Les interfaces dfinissent uniquement les signatures de mthode et de proprit.</p> <p> Les classes dfinissent limplmentation du code pour les mthodes dinterface.</p> <p> Lhritage dinterface signifie que seule linterface est hrite, et non le code dimplmentation.</p> <p> On dit implmenter une interface, et hriter dune classe.</p> <p>Leon 1 : La programmation oriente objet avance.</p> <p>9</p> <p>2. Interfaces.Leon 1 : La programmation oriente objet avance.</p> <p>Classe de baseClasse driveInterfaceClasse driveHritageHritageImplmentationclass Transportinterface IAerienclass Avion : Transport, Itransport, IAerienclass Velo : Transport, ITransport</p> <p>interface ITransport</p> <p>ImplmentationImplmentationInterface</p> <p>10</p> <p>2. Interfaces.Leon 1 : La programmation oriente objet avance.</p> <p>[C#]interface VotreInterface{ //Placer des dfinitions dinterface ici.}</p> <p>[Vb.Net]Interface VotreInterface Placer des dfinitions dinterface ici.End InterfaceDfinition</p> <p>[C#]class VotreClasse : VotreInterface{ //Placer des dfinitions de classe ici.}</p> <p>[Vb.Net]Class VotreClasse Implements VotreInterface Placer des dfinitions de classe ici.End ClassImplmentation</p> <p>11</p> <p>3. Polymorphisme. La mme opration se comporte diffremment quand elle est applique des objets bass sur des classes diffrentes.</p> <p> Souvent fond sur lhritage dinterface :</p> <p> Les classes hritent de la classe de base dinterface. Chaque classe drive implmente sa propre version du code. Les clients peuvent traiter tous les objets comme des instances de la classe de base, sans connatre les classes drives.Leon 1 : La programmation oriente objet avance.</p> <p>12</p> <p>3. Polymorphisme.Leon 1 : La programmation oriente objet avance.</p> <p>[C#]interface VotreInterface{ String getName();}</p> <p>[Vb.Net]Interface VotreInterface Function getName() As StringEnd InterfaceDfinition</p> <p>13</p> <p>3. Polymorphisme.Leon 1 : La programmation oriente objet avance.</p> <p>[C#]class VotreClasse : VotreInterface{ //Placer des dfinitions de classe ici.}</p> <p>[Vb.Net]Class VotreClasse Implements VotreInterface Placer des dfinitions de classe ici.End ClassImplmentation</p> <p>14</p>