File tree Expand file tree Collapse file tree 1 file changed +76
-0
lines changed
Roadmap/28 - SOLID LSP/python Expand file tree Collapse file tree 1 file changed +76
-0
lines changed Original file line number Diff line number Diff line change
1
+ # Correcto
2
+ class Bird :
3
+ def fly (self ):
4
+ return "Bird is flying"
5
+
6
+ class Sparrow (Bird ):
7
+ def fly (self ):
8
+ return "Sparrow is flying"
9
+
10
+ class Eagle (Bird ):
11
+ def fly (self ):
12
+ return "Eagle is flying"
13
+
14
+ def make_bird_fly (bird : Bird ):
15
+ print (bird .fly ())
16
+
17
+ sparrow = Sparrow ()
18
+ eagle = Eagle ()
19
+
20
+ make_bird_fly (sparrow )
21
+ make_bird_fly (eagle )
22
+
23
+ # Incorrecto
24
+ class Penguin (Bird ):
25
+ def fly (self ):
26
+ raise Exception ("Penguins can't fly" )
27
+
28
+ penguin = Penguin ()
29
+ try :
30
+ make_bird_fly (penguin )
31
+ except Exception as e :
32
+ print (e )
33
+
34
+
35
+ ### Ejercicio Extra ###
36
+ class Vehicle :
37
+ def accelerate (self ):
38
+ raise NotImplementedError ("You must implement the accelerate method" )
39
+
40
+ def brake (self ):
41
+ raise NotImplementedError ("You must implement the brake method" )
42
+
43
+ class Car (Vehicle ):
44
+ def accelerate (self ):
45
+ return "Car is accelerating"
46
+
47
+ def brake (self ):
48
+ return "Car is braking"
49
+
50
+ class Motorcycle (Vehicle ):
51
+ def accelerate (self ):
52
+ return "Motorcycle is accelerating"
53
+
54
+
55
+ def brake (self ):
56
+ return "Motorcycle is braking"
57
+
58
+ class Bike (Vehicle ):
59
+ def accelerate (self ):
60
+ return "Bike is accelerating"
61
+
62
+ def brake (self ):
63
+ return "Bike is braking"
64
+
65
+
66
+ def test_vehicle (vehicle : Vehicle ):
67
+ print (vehicle .accelerate ())
68
+ print (vehicle .brake ())
69
+
70
+ car = Car ()
71
+ motorcycle = Motorcycle ()
72
+ bike = Bike ()
73
+
74
+ test_vehicle (car )
75
+ test_vehicle (motorcycle )
76
+ test_vehicle (bike )
You can’t perform that action at this time.
0 commit comments