PHP POO Flashcards

1
Q

Quais são os objetivos da programação orientada a objetos (OOP)?

A

Os objetivos da OOP incluem permitir a refatoração compartimentalizada do código, promover a reutilização de código, promover a extensibilidade, flexibilidade e adaptabilidade, e ser melhor para o desenvolvimento em equipe.

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

Por que a OOP é projetada para alcançar esses objetivos?

A

A OOP é projetada para alcançar esses objetivos porque ela organiza o código em unidades autônomas chamadas objetos, que podem ser facilmente reutilizados, estendidos e adaptados para atender às necessidades específicas do projeto. Além disso, a OOP facilita a colaboração entre os membros da equipe de desenvolvimento.

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

É necessário usar OOP para alcançar esses objetivos?

A

Não, não é necessário usar OOP para alcançar esses objetivos. Embora a OOP seja uma abordagem poderosa e comumente usada para alcançar esses objetivos, há outras abordagens de programação, como programação procedural, que também podem ser igualmente eficazes, dependendo do contexto e dos requisitos do projeto.

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

Quais são alguns exemplos de padrões de design associados à OOP?

A

Alguns exemplos de padrões de design associados à OOP incluem o padrão Factory, Singleton, Observer, Strategy, Decorator, e muitos outros. Esses padrões são projetados para resolver problemas comuns de design de software de uma maneira eficiente e reutilizável.

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

O que é uma classe em OOP?

A

Uma classe é um modelo para criar objetos que define funções e dados relacionados.

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

O que é um objeto (ou instância) em OOP?

A

Um objeto é uma instância de uma classe, representando um exemplo específico dos dados e comportamentos definidos pela classe.

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

O que são atributos em uma classe de OOP?

A

Atributos são variáveis dentro de uma classe que armazenam dados específicos de um objeto.

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

O que são métodos em uma classe de OOP?

A

Métodos são funções dentro de uma classe que definem o comportamento dos objetos e como eles interagem com outros objetos.

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

Qual é o propósito do método construtor __construct na classe SuperPerson?

A

O método __construct é usado para inicializar os atributos da classe SuperPerson com valores específicos quando um objeto é instanciado.

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

O que o método __destruct faz na classe SuperPerson?

A

O método __destruct é chamado automaticamente quando o objeto da classe SuperPerson é destruído, geralmente no final do escopo onde o objeto foi criado.

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

Qual é o objetivo do método __toString na classe SuperPerson?

A

O método __toString permite que um objeto da classe SuperPerson seja convertido em uma representação de string quando é necessário imprimir ou exibir informações sobre o objeto.

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

Qual é o propósito da classe SuperHero em relação à classe SuperPerson?

A

A classe SuperHero é uma subclasse da classe SuperPerson, o que significa que ela herda todos os atributos e métodos da classe SuperPerson e pode adicionar atributos e métodos adicionais específicos para heróis.

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

Qual é a visibilidade da propriedade $savedVictims na classe SuperHero?

A

A propriedade $savedVictims é privada, o que significa que só pode ser acedida dentro da própria classe SuperHero.

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

Qual é a diferença entre os métodos save e getNumberOfSavedVictims na classe SuperHero?

A

O método save é usado para salvar uma vítima e incrementar o contador de vítimas salvas, enquanto o método getNumberOfSavedVictims retorna o número total de vítimas salvas pelo herói.

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

O que representa a linha $hero = new SuperHero(“Spam-Man”, 3); no exemplo de utilização?

A

Essa linha cria uma nova instância da classe SuperHero com o nome “Spam-Man” e um nível de poder (power level) de 3.

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

Qual é o resultado da instrução echo “$hero”; no exemplo de utilização?

A

Essa instrução imprime uma representação de string do objeto $hero, mostrando seu nome e nível de poder.

16
Q

O que faz o método $hero->save(“Laura Jones”); no exemplo de utilização?

A

Esse método salva uma vítima chamada “Laura Jones”, aumentando o contador de vítimas salvas pelo herói.

17
Q

O que significa visibilidade pública em PHP?

A

Visibilidade pública significa que todos têm acesso à propriedade ou método, podendo ser acedidos de qualquer lugar no código.

18
Q

Qual é a diferença entre visibilidade protegida e visibilidade privada em PHP?

A

A visibilidade protegida permite que apenas o proprietário da classe e suas subclasses tenham acesso à propriedade ou método, enquanto a visibilidade privada restringe o acesso apenas ao proprietário da classe.

19
Q

Qual é a finalidade do construtor em PHP?

A

O construtor em PHP é usado para inicializar valores quando um objeto é criado, permitindo que os objetos sejam configurados com valores iniciais específicos.

20
Q

O que o destrutor em PHP faz?

A

O destrutor em PHP libera quaisquer recursos que tenham sido usados quando um objeto é destruído, permitindo que recursos como memória ou ligações com base de dados sejam liberados quando o objeto não é mais necessário.