Questão
ID 2124170Disciplina: Tecnologia da Informação
Assunto: C#
Ano: 2019 Banca: Colégio Pedro II Órgão: Colégio Pedro II
Observe as classes escritas em C# a seguir:
1 | class A |
2 | { |
3 | public double x { get; set; } |
4 | |
5 | public A(double x) |
6 | { |
7 | this.x = x; |
8 | } |
9 | public virtual void calcula(int a, int b) |
10 | { |
11 | x = x + a + b; |
12 | } |
13 | public virtual void calcula(double a, double b) |
14 | { |
15 | x = x + a – b; |
16 | } |
17 | } |
18 | class B:A |
19 | { |
20 | public double z {get; set; } |
21 | |
22 | public B(int x, int z): base(x) |
23 | { |
24 | this.z = z; |
25 | } |
26 | public B(double x, double z): base(x) |
27 | { |
28 | this.z = x; |
29 | } |
30 | |
31 | public override void calcula(double a, double b) |
32 | { |
33 | base.calcula(a,b); |
34 | z = x + z; |
35 | } |
36 | static void Main() |
37 | { |
38 | A obj1 = new A(5); |
39 | B obj2 = new B(3, 4.5); |
40 | obj1.calcula(1,2); |
41 | obj2.calcula(2.5, 1.5); |
42 | double resposta = obj1.x + obj2.x + obj2.z; |
43 | MessageBox.Show(resposta.ToString()); |
44 | } |
45 | |
46 |
Os códigos nas linhas 18, 26, 31 e 38 implementam os respectivos conceitos da programação orientada a objeto: