Orientação a Objetos Flashcards

1
Q

Quando falamos sobre orientação a objetos que palavra devo lembrar?

A

Classe

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

class Nome {}
ou
class nome {}

A

Class Nome {}

Sempre letra Maiúscula.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Uma classe é o que?

A

Um conjunto de atributos e métodos.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Crie uma classe pessoa

A

class Pessoa {
String nome;
String cpf;
String rg;
Pessoa ({required this.nome, required this.cpf, required this.rg});
}
void main(){
final abc = Pessoa (nome: ‘test’, cpf: ‘351’, rg: ‘351’);
print (abc);
print (abc.cpf);
}

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

O que é método?

A

É alterar o valor da classe, um exemplo é o saldo do banco que começa com 0, adiciono um método que é função para modificar o saldo.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Dê exemplo de um método

A

void paymentTo (int value) {
this.value = this.value - value;
print (“Pagamento realizado com sucesso”);}
nomeObjetoAux.paymentTo (12);
print (nomeObjetoAux.value);

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

O que é Override?

A

É a subclasse substituindo a implementação de um método da classe.
Como se copiasse as características do objeto pai e passasse para o objeto filha personalizando algumas coisas como a representação personalizada do objeto por exemplo.
No objeto pai sairia instância pessoa
No objeto filha sairia pessoa por exemplo.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

A classe principal aparece Instance of AccountBank, faça um override para aparecer apenas Accountbank

A

@override
String toString () => ‘AccountBank (id: $id, cpf: $cpf, value: $value)’;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

O que é uma classe abstrata?

A

É quando a classe principal funciona de base para as subclasses. Como por exemplo a classe animal que tem o método emitir som, a subclasse cachorro irá implementar o método emitir som com au au por exemplo.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Como declarar uma classe abstrata em Dart?

A

abstract class Payment {}

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Para que serve sintaxe get

A

Para obter um dado privado de uma classe. Exemplo
class Pessoa{
String _nome;
String get nome{
return _nome;
}
}
print (nome);

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

O que é herança?

A

É quando a subclasse herda algo da classe principal. Exemplo classe animal, a classe cachorro herda certos atributos da classe animal e implementa os métodos da classe animal como método som que passa a ser au au.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Qual a diferença entre estender e implementar uma classe?

A

Em estender, a subclasse herda todos os atributos e métodos da classe principal.
Em implementar, a subclasse implementa todos os métodos da classe principal sem necessariamente herdar os atributos.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Quando eu implemento umaa classe eu tenho conjunto do que?

A

Conjunto de funções

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

O que é obrigatório fazer ao implementar uma classe?

A

override e fazer função

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Qual a vantagem de estender uma classe invés de implementar?

A

Consigo colocar só uma funcionalidade a mais que eu queira sem precisar “poluir” tanto o código comparado com implementação de classe.

17
Q

Como conseguir pegar o feeling de quando é extensão ou implementação de classe?

A

Prática

18
Q

Para que serve a sintaxe final?
exemplo
final String email;
final String senha;

A

final serve para garantir a imutabilidade do dado, ou seja, para garantir que o dado não seja mais alterado, isso aumenta a segurança e confiabilidade.

19
Q

void é 0?

A

Não, void é tipo nulo, tipo nenhum.

20
Q

O que é encapsulamento?

A

É eu colocar os parâmetros e funcionalidades que a classe irá ter, como por exemplo classe IMC em que eu coleto peso e altura e realizo o cálculo tudo dentro da classe.
Encapsulamento também serve para proteger os dados.

21
Q

Qual a vantagem a programação orientada a objetos?

A

Consigo “quebrar” meu código em várias camadas e consigo modificar as funcionalidades sem impactar o resto do código.

22
Q

O que é polimorfismo?

A

É quando objetos de diferentes classes sejam tratados de maneira intercambiável, ou seja, um objeto poderia ser usado como outro objeto de uma classe diferente.

O polimorfismo permite que um único método ou função possa ser usado com objetos de diferentes classes.

23
Q

O que é um objeto?

A

É uma instância de uma classe. Podendo ser um atributo (variável) ou método (função).

24
Q

Dê exemplo de uma classe com o objeto atributos e métodos.

A

Classe Pessoa
Objeto atributo: Nome e Idade.
Objeto método: Falar.

25
Q

O que é objeto?

A

É uma instância de uma classe que contém seus próprios valores para os atributos definidos na classe e pode executar os métodos definidos na classe.

26
Q

Qual a diferença entre polimorfismo estático para dinâmico?

A

A diferença entre polimorfismo estático e dinâmico é que o polimorfismo estático é resolvido em tempo de compilação, enquanto o polimorfismo dinâmico é resolvido em tempo de execução.

Exemplo de estático
Considere uma função “soma” que pode ser usada para somar dois inteiros ou dois floats. O polimorfismo estático é usado para selecionar a versão adequada da função “soma” com base nos tipos dos parâmetros usados na chamada.

Exemplo de dinâmico
Considere uma classe “Animal” com um método “emitirSom”. Uma subclasse “Cachorro” pode sobrescrever o método “emitirSom” para fornecer uma implementação diferente. O polimorfismo dinâmico permite que o método “emitirSom” adequado seja chamado com base no tipo de objeto real que está sendo manipulado. Se o objeto for do tipo “Cachorro”, o método “emitirSom” da subclasse “Cachorro” será chamado. Se o objeto for do tipo “Animal”, o método “emitirSom” da classe pai “Animal” será chamado.

27
Q

Para que serve null safety?

A

null safety garante que minha variável irá retornar null, isso evita que o app quebre caso eu esqueça de declarar um dado na minha variável int, String, double por exemplo.

28
Q

Como declaro uma variável que pode vir null?

A

Strin? a;
double? b;
int? c;