You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
This repo is archived. You can view files and clone it, but cannot push or open issues/pull-requests.

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"