1+ public class danhingar {
2+
3+ public static void main (String [] args ) throws Exception {
4+ /*
5+ * Bird bird = new Bird();
6+ * bird.fly();
7+ * Chicken chicken = new Chicken();
8+ * chicken.fly();
9+ */
10+
11+ Bird1 bird1 = new Bird1 ();
12+ bird1 .move ();
13+ bird1 = new Chicken1 ();
14+ bird1 .move ();
15+
16+ Bird1 chicken1 = new Chicken1 ();
17+ chicken1 .move ();
18+ chicken1 = new Bird1 ();
19+ chicken1 .move ();
20+
21+ // Extra
22+ Motorbike motorbike = new Motorbike ();
23+ Car car = new Car ();
24+ Bike bicycle = new Bike ();
25+
26+ Vehicle .test (motorbike );
27+ Vehicle .test (car );
28+ Vehicle .test (bicycle );
29+
30+
31+ }
32+
33+ }
34+
35+ // Incorrecto
36+ class Bird {
37+ public void fly () throws Exception {
38+ System .out .println ("Flying" );
39+ }
40+ }
41+
42+ class Chicken extends Bird {
43+ @ Override
44+ public void fly () throws Exception {
45+ throw new Exception ("Los pollos no vuelan" );
46+ }
47+ }
48+
49+ class Bird1 {
50+
51+ public void move () {
52+ System .out .println ("Moving" );
53+ }
54+
55+ }
56+
57+ class Chicken1 extends Bird1 {
58+
59+ public void move () {
60+ System .out .println ("Walking" );
61+ }
62+ }
63+
64+ // EXTRA
65+
66+ class Vehicle {
67+ private Integer speed = 0 ;
68+
69+ public Vehicle () {
70+ }
71+
72+ public void accelerate (Integer increment ) {
73+ speed = speed + increment ;
74+ System .out .printf ("Velocidad: %d Km/h\n " , speed );
75+ }
76+
77+ public void brake (Integer decrement ) {
78+ speed = speed - decrement ;
79+ if (speed < 0 )
80+ speed = 0 ;
81+ System .out .printf ("Velocidad: %d Km/h\n " , speed );
82+ }
83+
84+ public static void test (Vehicle vehicle ){
85+ vehicle .accelerate (5 );
86+ vehicle .brake (1 );
87+ }
88+
89+ }
90+
91+ class Motorbike extends Vehicle {
92+
93+
94+ @ Override
95+ public void accelerate (Integer increment ) {
96+ System .out .println ("La moto está acelerando" );
97+ super .accelerate (increment );
98+ }
99+
100+ @ Override
101+ public void brake (Integer decrement ) {
102+ System .out .println ("La moto está frenando" );
103+ super .brake (decrement );
104+ }
105+
106+ }
107+
108+ class Bike extends Vehicle {
109+
110+ @ Override
111+ public void accelerate (Integer increment ) {
112+ System .out .println ("La bicicleta está acelerando" );
113+ super .accelerate (increment );
114+ }
115+
116+ @ Override
117+ public void brake (Integer decrement ) {
118+ System .out .println ("La bicicleta está frenando" );
119+ super .brake (decrement );
120+ }
121+
122+ }
123+
124+ class Car extends Vehicle {
125+
126+ @ Override
127+ public void accelerate (Integer increment ) {
128+ System .out .println ("El coche está acelerando" );
129+ super .accelerate (increment );
130+ }
131+
132+ @ Override
133+ public void brake (Integer decrement ) {
134+ System .out .println ("El coche está frenando" );
135+ super .brake (decrement );
136+ }
137+
138+ }
0 commit comments