You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
La herencia es un mecanismo de la programación orientada a objetos que sirve para crear clases nuevas a partir de clases preexistentes. Se toman (heredan) atributos y métodos de las clases bases y se los modifica para modelar una nueva situación.
4
+
5
+
La clase desde la que se hereda se llama clase base y la que se construye a partir de ella es una clase derivada.
6
+
7
+
Si nuestra clase base es la clase punto que hemos visto antes, puedo crear una nueva clase de la siguiente manera:
8
+
'''
9
+
10
+
frommathimportsqrt
11
+
12
+
classPunto():
13
+
14
+
def__init__(self, x: int=0, y: int=0) ->None:
15
+
self.__x=x# Definición de atributo privado (encapsulación)
16
+
self.__y=y
17
+
18
+
@property
19
+
defx(self) ->int:
20
+
print('Imprimiendo coordenada X:')
21
+
returnself.__x
22
+
23
+
@property
24
+
defy(self) ->int:
25
+
print('Imprimiendo coordenada y:')
26
+
returnself.__y
27
+
28
+
@x.setter
29
+
defx(self, x: int=0) ->None:
30
+
print('Cambio x')
31
+
self.__x=x
32
+
33
+
@y.setter
34
+
defy(self, y: int=0) ->None:
35
+
print('Cambio y')
36
+
self.__y=y
37
+
38
+
defmostrar(self) ->None:
39
+
returnstr(self.__x) +":"+str(self.__y)
40
+
41
+
defdistancia(self, point) ->None:
42
+
dx=self.__x-point.x
43
+
dy=self.__y-point.y
44
+
45
+
returnsqrt((dx*dy+dy*dy)**0.5)
46
+
47
+
classPunto3D(Punto):
48
+
49
+
def__init__(self, x:int=0, y:int=0, z:int=0):
50
+
super().__init__(x, y) # Llamada al constructor de la clase base
0 commit comments