0% acharam este documento útil (0 voto)
44 visualizações4 páginas

Resumo

O documento descreve conceitos fundamentais da programação orientada a objetos e do .NET, incluindo classes, objetos, atributos, métodos, encapsulamento, herança, polimorfismo e abstração.
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato DOCX, PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
44 visualizações4 páginas

Resumo

O documento descreve conceitos fundamentais da programação orientada a objetos e do .NET, incluindo classes, objetos, atributos, métodos, encapsulamento, herança, polimorfismo e abstração.
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato DOCX, PDF, TXT ou leia on-line no Scribd
Você está na página 1/ 4

 O .

NET é uma plataforma de desenvolvimento unificado que permite a construção de


sistemas e aplicações.
 C# é uma linguagem de programação usada no .NET
 .NET Framework é a versão legada, antiga, do .NET. Funcionava apenas em Windows.
 Já o .NET Core, ou .NET, é a atual versão do .NET, e é multiplataforma. Nele,
escrevemos um único código que pode ser executado em diversas plataformas, com
pequenas modificações.
 Linguagem de alto nível: linguagem de programação que entendemos e escrevemos no
nosso código fonte.
 Linguagem de baixo nível: linguagem que a máquina entende. Possui pouca abstração,
sendo difícil de entender. É mais próxima do hardware. (Assembly, por exemplo)
 Compilador: programa que realiza a conversão de linguagem de alto nível para baixo
nível, para que a máquina entenda o código fonte.
 Transpilador: É a conversão de uma linguagem ou implementação para outra. A saída
continua sendo alto nível. Ex: Typescript para Javascript.

Programação Orientada a Objetos (POO):

A POO é uma abordagem de programação que organiza o código ao redor de "objetos", que
podem ser pensados como unidades autocontidas que contêm dados (atributos) e as
operações (métodos) que podem ser realizadas nesses dados.

Os pilares da Programação Orientada a Objetos (POO) são quatro conceitos fundamentais que
guiam a estruturação e design de programas. Eles são:

Encapsulamento:

Definição: É o conceito de agrupar dados (atributos) e os métodos que operam nesses dados
em uma única unidade, chamada de classe.

Objetivo: Proteger e organizar o código, escondendo a implementação interna e permitindo o


acesso controlado aos dados.

Herança:

Definição: Permite que uma classe herde características (atributos e métodos) de outra classe,
estabelecendo uma relação de "pai e filho" entre elas.

Objetivo: Promover a reutilização de código, facilitando a criação de novas classes baseadas em


classes já existentes.

Polimorfismo:

Definição: Permite que um objeto possa ser tratado de várias formas, dependendo do
contexto. Pode ocorrer de duas formas: polimorfismo de sobrecarga (mesmo nome, diferentes
parâmetros) e polimorfismo de sobreposição (métodos com mesmo nome e parâmetros na
classe base e nas classes derivadas).

Objetivo: Aumentar a flexibilidade do código, permitindo que diferentes classes compartilhem


o mesmo nome de método, mas possuam implementações específicas.
Abstração:

Definição: Representa a capacidade de simplificar complexidades, focando nos aspectos mais


relevantes e ignorando detalhes menos importantes.

Objetivo: Modelar objetos do mundo real de forma a capturar apenas as características


essenciais, tornando o sistema mais compreensível e manutenível.

Principais Conceitos da POO:

 Objeto: Um objeto é uma instância única de uma classe. Pode ser uma representação
do mundo real ou um conceito abstrato.
 Classe: Uma classe é um modelo ou plano para criar objetos. Define atributos (dados) e
métodos (ações) que os objetos dessa classe terão.
 Atributos: Atributos são características dos objetos, também conhecidos como
propriedades. Por exemplo, em uma classe "Carro", os atributos podem ser "Cor",
"Modelo", "Ano".
 Métodos: Métodos são ações que os objetos podem realizar. Se a classe é "Carro", os
métodos podem ser "Ligar", "Desligar", "Acelerar".
 Encapsulamento: É o conceito de agrupar dados (atributos) e os métodos que operam
nesses dados em uma única unidade (objeto). Ajuda a proteger os dados, controlando
o acesso a eles.
 Herança: Permite que uma classe herde características e comportamentos de outra
classe. Exemplo: uma classe "Veículo" pode ter características gerais, e as classes
"Carro" e "Moto" podem herdar dela.
 Polimorfismo: Significa que objetos de diferentes classes podem ser tratados como
objetos de uma classe comum. Permite flexibilidade e extensibilidade do código.

Classes Abstratas:

Uma classe abstrata é como um modelo de classe que não pode ser instanciado diretamente.
Em vez disso, ela serve como um ponto de partida para outras classes. O propósito principal é
fornecer uma estrutura comum e compartilhar comportamentos entre diferentes classes.

Por exemplo, imagine uma classe abstrata chamada Animal. Essa classe pode conter métodos
abstratos, que são métodos sem implementação. As classes que herdam de Animal precisam
fornecer suas próprias implementações para esses métodos abstratos. Isso ajuda a garantir que
todas as classes derivadas compartilhem alguns comportamentos essenciais, enquanto ainda
podem ter métodos específicos próprios.

Interfaces:

As interfaces em C# são como contratos que especificam um conjunto de métodos que uma
classe deve implementar. Elas são utilizadas para definir um comportamento comum que pode
ser compartilhado por diferentes classes, independentemente de sua hierarquia.
Vamos pensar em uma interface chamada ISonoro, que define um método FazerSom.
Diferentes classes podem implementar essa interface, garantindo que todas elas tenham a
capacidade de fazer algum tipo de som.

Modificadores de Acesso:

Os modificadores de acesso ajudam a controlar a visibilidade e o acesso aos membros


(métodos, propriedades, etc.) de classes em .NET. Os 3 principais e mais simples são:

1. public:

- Acesso irrestrito, pode ser acessado de qualquer lugar.

2. private:

- Acesso restrito à própria classe onde foi declarado.

3. protected:

- Acesso restrito à própria classe e suas classes derivadas.

POSSÍVEIS PERGUNTAS DE ENTREVISTA PARA ESTAGIÁRIO .NET

O C# é uma linguagem tipada, compilada e gerenciada. O que isso significa?

C# é uma linguagem onde os tipos de dados são explicitamente definidos (ou seja, tipada.
Exemplo: int numero = 5; indica que a variável numero é do tipo inteiro), o código é
transformado em código de máquina antes de ser executado (compilada), e possui um
ambiente de execução que gerencia automaticamente a alocação de recursos (gerenciada),
ajudando a prevenir erros relacionados à manipulação direta de memória.

O que é o IL (Intermediate Language) no C#?

A Intermediate Language (IL), ou Linguagem Intermediária, no contexto do C#, é uma forma de


código de máquina virtual usado pela Common Language Runtime (CLR). Após o código-fonte
C# ser compilado, ele é convertido para IL antes da execução. Essa IL é uma representação
intermediária que permite a portabilidade e execução em diferentes ambientes, já que é
interpretada e convertida em código nativo durante a execução pelo CLR. Ou seja, IL é uma
forma de código intermediário que torna os programas em C# independentes da arquitetura da
máquina e facilita a execução em diferentes ambientes. Dessa forma, não é necessário ter um
gerenciador para cada linguagem.

O que são os Built-in types (tipos primitivos)?

Os Built-in types (tipos primitivos) no C# são tipos de dados fundamentais que já estão
incorporados na linguagem. São tipos simples que representam valores básicos. Alguns
exemplos desses tipos primitivos incluem:
 int: Números inteiros.
 double: Números de ponto flutuante.
 char: Caracteres individuais.
 bool: Valores lógicos (verdadeiro ou falso).
 string: Sequências de caracteres.

Esses tipos primitivos fornecem a base para a manipulação de dados em C# e são utilizados
para armazenar informações simples em programas.

O que são namespaces?

Um namespace no C# é como um contêiner que ajuda a organizar e identificar diferentes


partes do seu código. Ele serve para evitar confusão e colisões de nomes entre classes,
métodos e outros elementos em seu programa.

Exemplo:

Imagine que você tem duas classes diferentes em seu programa, e ambas têm um método
chamado "Processar". Sem namespaces, poderia haver confusão sobre qual "Processar" você
está chamando. Um namespace resolve isso, fornecendo um contexto para os nomes.

O que é um construtor?

Um construtor é um método especial dentro de uma classe que é chamado automaticamente


quando um objeto dessa classe é criado. Ele é usado para inicializar o estado do objeto, ou
seja, definir valores iniciais para os membros da classe ou realizar outras operações necessárias
para que o objeto esteja em um estado válido.

Aqui estão alguns pontos-chave sobre construtores:

Inicialização de Objetos: Um construtor permite que você forneça valores iniciais para os
membros da classe quando um objeto é instanciado.

Chamada Automática: O construtor é chamado automaticamente quando você cria um novo


objeto da classe usando o operador new.

Sintaxe: Em C#, o construtor tem o mesmo nome da classe e não possui um tipo de retorno.
Você pode ter vários construtores na mesma classe, desde que tenham listas de parâmetros
diferentes (sobrecarga de construtores).

Você também pode gostar