Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.
Den här utvecklingskatalogen är arkiverad. Du kan se filer och klona katalogen, men inte öppna ärenden eller genomföra push- eller pull-förfrågningar.

python-S02-E11.md 1.7 KiB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139
  1. % Programmation avec Python (Épisode 11)
  2. % Dimitri Merejkowsky
  3. # Quiz
  4. #
  5. ```python
  6. class A:
  7. def méthode_dans_a(self):
  8. print("dans A")
  9. class B(A):
  10. def méthode_dans_b(self):
  11. print("dans B")
  12. b = B()
  13. print(b.méthode_dans_a())
  14. ```
  15. \vfill
  16. 1. Erreur
  17. 2. Affiche 'dans A'
  18. #
  19. ```python
  20. class A:
  21. def méthode_dans_a(self):
  22. print("dans A")
  23. class B(A):
  24. def méthode_dans_b(self):
  25. print("dans B")
  26. class C(B):
  27. def méthode_dans_c(self):
  28. print("dans C")
  29. c = C()
  30. c.méthode_dans_a()
  31. ```
  32. \vfill
  33. 1. dans A
  34. 2. dans B
  35. 3. dans C
  36. #
  37. ```python
  38. class A:
  39. def __init__(self):
  40. self.attribut_de_a = 42
  41. class B(A):
  42. def affiche_a(self):
  43. print(self.attribut_de_a)
  44. b = B()
  45. b.affiche_a()
  46. ```
  47. \vfill
  48. 1. Affiche '42'
  49. 2. Erreur
  50. #
  51. ```python
  52. class A:
  53. def une_méthode(self):
  54. print("je viens de la classe A")
  55. class B(A):
  56. def une_méthode(self):
  57. print("je viens de la classe B")
  58. b = B()
  59. b.une_méthode()
  60. ```
  61. \vfill
  62. 1. je viens de la classe A
  63. 2. je viens de la classe B
  64. #
  65. ```python
  66. class A:
  67. def une_méthode(self):
  68. print("je viens de la classe A")
  69. class B(A):
  70. def une_méthode(self):
  71. super().une_méthode()
  72. print("je viens de la classe B")
  73. b = B()
  74. print(b.une_méthode())
  75. ```
  76. \vfill
  77. 1. Affiche 'je viens de classe A' puis 'je viens de la classe B'
  78. 1. Affiche 'je viens de classe B' puis 'je viens de la classe A'
  79. #
  80. ```python
  81. class A:
  82. def __init__(self):
  83. self.attribut_de_a = "Bonjour"
  84. class B(A):
  85. def __init__(self):
  86. self.attribut_de_b = "monde"
  87. super().__init__()
  88. b = B()
  89. print(b.attribut_de_a + " " + b.attribut_de_b)
  90. ```
  91. \vfill
  92. 1. Erreur
  93. 2. Affiche: "bonjour monde"