test doc

326 vues

Publié le

0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
326
Sur SlideShare
0
Issues des intégrations
0
Intégrations
2
Actions
Partages
0
Téléchargements
1
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

test doc

  1. 1. Comment appelle-t-on une variable dans une classe ? Et une fonction ? Une variable est une méthode et une fonction est un attribut Une variable est un attribut et une fonction est une méthodeQuelle est la différence entre classe et objet ? Une classe est un ensemble de fonctions et variables et un objet est une instance de cette classe Un objet est un ensemble de fonctions et variables et une classe est une instance de cet objetPar quel mot-clé déclare-t-on une classe ? classe class object objetQuest-ce qui ne va pas dans ce code ?Code : PHP - Sélectionner 1 <?php 2 class MaClasse 3 { 4 private $texte; 5 6 public function changerTexte ($nouveauTexte) 7 { 8 $this->texte = $nouveauTexte; 9 }1011 public function afficherTexte()12 {13 echo $this->$texte;14 }15 }16 ?> Il manque un $ juste avant "texte" à la ligne 8 Il y a un $ en trop juste avant "texte" à la ligne 13
  2. 2. Tout est bienCe code est correct, mais ne doit jamais être créé. Pourquoi ?Code : PHP - Sélectionner 1 <?php 2 class MaClasse 3 { 4 public $attribut = Hello world !; 5 6 public function afficherAttribut() 7 { 8 echo $this->attribut; 9 }10 }11 ?> Lattribut est public, il devrait être privé La méthode est publique, elle devrait être privée Lattribut et la méthode sont publiques, ils devraient être privés Tout semble bonLe code suivant est-il bon ?Code : PHP - Sélectionner 1 <?php 2 class MaClasse 3 { 4 private $attribut; 5 6 public function changerAttribut (int $valeur) 7 { 8 $this->attribut = $valeur; 9 }10 }11 ?> Oui NonJai une erreur fatale, pourquoi ?Code : PHP - Sélectionner1 <?php
  3. 3. 2 class MaClasse 3 { 4 private $attribut; 5 6 public function __construct() 7 { 8 $this->attribut = Hello world !; 9 }10 }1112 $objet = new MaClasse();1314 $objet->attribut = Bonjour tout le monde !;15 ?> Ligne 8 : tu accèdes à un attribut privé depuis lintérieur de la classe Ligne 14 : tu accèdes à un attribut privé depuis lextérieur de lobjet crééLaquelle de ces déclarations de constantes est correcte ? constant $MA_CONSTANTE = 1; const $MA_CONSTANTE = 1; constant MA_CONSTANTE = 1; const MA_CONSTANTE = 1;Quelle est lerreur dans ce code ?Code : PHP - Sélectionner 1 <?php 2 class MaClasse 3 { 4 public function methode() 5 { 6 echo Hello world !; 7 } 8 } 910 MaClasse::methode();11 ?>
  4. 4. Il ny a pas dattribut dans la classe La méthode "methode" na pas été déclarée avec le mot-clé "static" Il ny en a pasUne autre erreur sest glissée dans ce code légèrement modifié non ?Code : PHP - Sélectionner 1 <?php 2 class MaClasse 3 { 4 private static $texte; 5 6 public function __construct ($texte) 7 { 8 self::texte = $texte; 9 }1011 public static function afficherTexte()12 {13 echo self::texte;14 }15 }16 ?> Ligne 8 et 13 : il faut utiliser $this-> et pas self:: Lignes 8 et 13 : il manque un $ avant le nom de lattribut Non, tout est correctQuaffichera le code suivant à lécran ?Code : PHP - Sélectionner 1 <?php 2 class MaClasse 3 { 4 private $attribut = Hello; 5 6 public function getAttribut() 7 { 8 return $this->attribut; 9 }1011 public function setAttribut ($valeur)
  5. 5. 12 {13 $this->attribut = $valeur;14 }15 }1617 $a = new MaClasse;18 $b = $a;19 $c = $b;2021 $c->setAttribut (Salut);2223 echo $a->getAttribut();24 ?> "Hello" "Salut" RienQuel(s) opérateur(s) de comparaison vérifie(nt) si les deux objets comparés sont des instances de lamême classe ? Lopérateur == Lopérateur === Les deuxQuels sont les types dattributs que ce code affichera ?Code : PHP - Sélectionner 1 <?php 2 class Mere 3 { 4 public $attributPublic = Attribut public; 5 protected $attributProtege = Attribut protégé; 6 private $attributPrive = Attribut privé; 7 8 public function listeAttributs() 9 {10 foreach ($this as $valeur)11 echo $valeur . <br />;12 }13 }1415 class Enfant extends Mere16 {1718 }19
  6. 6. 20 $objet = new Enfant;21 $objet->listeAttributs();22 ?> Les attributs publics Les attributs publics et protégés Les attributs publics, protégés et privésQuest-ce quune interface ? Une classe complètement abstraite Une applicationCe code est-il fonctionnel ?Code : PHP - Sélectionner 1 <?php 2 interface A 3 { 4 public function test(); 5 } 6 7 class A implements A 8 { 9 public function test()10 {1112 }13 }14 ?> Oui NonEt celui-ci, fonctionnera-t-il ?Code : PHP - Sélectionner1 <?php2 interface iA3 {4 protected function test1();
  7. 7. 5 abstract public function test2(); 6 } 7 8 class A implements iA 9 {10 protected function test1()11 {1213 }1415 abstract public function test2();16 }17 ?> Oui Non, linterface comporte une méthode protégée Non, linterface comporte une méthode abstraite Non, pour les deux raisons ci-dessusUne interface héritant dune autre peut-elle écraser ses méthodes ? Et ses constantes ? Oui Elle ne peut écraser les méthodes Elle ne peut écraser les constantes Elle ne peut écraser ni les méthodes, ni les constantesQuelle interface hérite de Iterator ? SeekableIterator ArrayAccess CountableQuelle est la classe de base pour créer une exception ? Exception ErrorExceptionQuel type derreur est lancé lorsquon nintercepte pas une exception ? Une erreur danalyse
  8. 8. Une erreur fatale Une alerte Une noticeSur les trois paramètres demandés par le constructeur de la classe Exception, combien sontobligatoires ? aucun 1 2 3Quelles sont les deux méthodes que je peux réécrire si jhérite de la classe Exception ? getMessage() et getCode() getFile() et getLine() __construct() et __toString()Quelle fonction permet denregistrer une autre fonction en callback qui sera appelée à chaque foisquune telle erreur est rencontrée ? set_error_function set_error_callback set_error_handlerSi jexécute ce code, quest-ce qui saffichera à lécran ?Code : PHP - Sélectionner 1 <?php 2 function additionner ($a, $b) 3 { 4 if (!is_numeric ($a) OR !is_numeric ($b)) 5 throw new Exception (Les deux paramètres doivent être des nombres); 6 7 return $a + $b; 8 } 910 try // On va essayer deffectuer les instructions situées dans ce bloc11 {12 echo additionner (12, 3);13 echo additionner (azerty, 54);14 echo additionner (4, 8);15 }16
  9. 9. 17 catch (Exception $e) // On va attraper les exceptions "Exception" sil y en a une qui est levée18 {19 echo Exception lancée. Message : . $e->getMessage();20 }21 ?> Exception lancée. Message : Les deux paramètres doivent être des nombres 15Exception lancée. Message : Les deux paramètres doivent être des nombres 15Exception lancée. Message : Les deux paramètres doivent être des nombres12Quelle classe nous permettra dobtenir des informations concernant dautres classes ? AboutClass ReflectionClass ClassReflectionQuelle méthode de la classe évoquée en première question permet de savoir si notre classe est lafille de telle autre classe ? isChild() isSubclass() isSubclassOf()Quelle classe nous permet dobtenir des informations à propos des attributs dune autre classe ? ReflectionAttribute ReflectionPropertyEst-il possible, grâce à cette classe, de pouvoir modifier les attributs privés de nos objets ? Oui NonQuelle classe permet dobtenir des informations à propos des méthodes de nos classes ? ReflectionMethod ReflectionFunctionQue maffichera ce code ?
  10. 10. Code : PHP - Sélectionner 1 <?php 2 class MaClasse 3 { 4 public function MaClasse() 5 { 6 echo Hello world !; 7 } 8 } 910 $methode = new ReflectionMethod(MaClasse, MaClasse);1112 if ($methode->isConstructor())13 echo Constructeur;14 else15 echo Non constructeur;16 ?> « Constructeur » « Non constructeur » Le code planteraQue vérifie lopérateur instanceof ? Que tel objet instancie telle classe Que tel objet instancie une classe fille de telle classe Que tel objet implémente telle interface Que tel objet implémente une interface fille de telle interface Tous ces pointsQuest-ce qui saffichera à lécran lors de lexécution de ce code ?Code : PHP - Sélectionner1 <?php2 class A { }3 class B { }45 $a = new A;67 if ($a instanceof A)
  11. 11. 8 echo Vrai; 9 else10 echo Faux;11 ?> Vrai Faux Une erreurQuest-ce qui saffichera à lécran lors de lexécution de ce code ?Code : PHP - Sélectionner 1 <?php 2 interface iA { } 3 interface iB extends iA { } 4 5 class A implements iB { } 6 class B extends A { } 7 8 $monObjet = new B; 910 if ($monObjet instanceof iA)11 echo Vrai;12 else13 echo Faux;14 ?> Vrai Faux Une erreurUne fois quune classe a été définie, combien est-il possible de créer dobjets basés sur cette classe? 0 1 2 Une infinitéQuest-ce quon ne trouve pas à lintérieur dune classe ?
  12. 12. Des variables Des fichiers Des fonctionsLequel de ces éléments correspond à un objet ?Code : PHP - Sélectionner1 <?php2 $jerry = new Souris();3 ?> $jerry new SourisLaquelle de ces fonctions est une fonction dite "magique" ? --get __destruct ./constructQuand est appelé le constructeur dune classe ? Lorsquon crée un nouvel objet Lorsquon modifie un objet Lorsquon supprime un objetLaquelle de ces phrases ne respecte pas le principe dencapsulation ? Certaines fonctions membres sont privées ou protégées Toutes les variables membres sont protégées Certaines variables membres sont publiquesLaquelle de ces phrases correspondrait vraiment à un héritage ? Table hérite de Meuble Meuble hérite de Tabouret Chaise hérite de Table

×