A orientação a objetos veio com o objetivo de tornar o desenvolvimento mais objetivo e simples, possuindo artefatos com estado e comportamento com o intuito de colaboração entre objetos cada um com sua especialidade.
Com esta forma de desenvolver software, podemos construir sistemas compostos por vários objetos, cada um com seu objetivo mantendo a coesão cada um tendo uma responsabilidade especifica.
Com esta técnica podemos também manter a segurança sem a necessidade de ter todos os atributos públicos e sendo possível encapsular seus atributos por modificadores de acesso.
A orientação a objetos também conhecida como POO é baseada nos seguintes pontos:
Encapsulamento – É o isolamento de elementos do objeto “métodos e atributos” conforme o acesso a ser implementado, pois nem todo método ou atributo deve ser visível de forma publica. Quando criamos um objeto, alguns elementos são de uso particular, enquanto outros são de uso de seus descendentes e ainda temos o uso por seus associados.
Abstração – É a forma de extrair os pontos mais relevantes do domínio da aplicação de um sistema e abstrair os pontos menos relevantes. Uma classe de forma simples é a abstração de coisas do mundo real.
Polimorfismo – Capacidade de transformação e adaptação. Ou seja, é a capacidade de adaptar o comportamento existente em um método herdado.
Herança – Capacidade de herdar métodos e atributos de um objeto pai, como nos seres vivos.
Classe – E uma representação do que é necessário ter ou fazer em um sistema. Podemos determinar seu estado, o que será armazenado e qual comportamento serão executados. Nada mais é do que uma estrutura de um ou vários objetos.
Objeto – É uma instancia de uma classe, ou seja, uma cópia em memoria de tudo que ela representa e pode fazer.
Atributo – É o estado do objeto, onde armazenamos dados para sua representação.
Método – São operações pertencentes ao objeto.
Segue abaixo um exemplo de programa com a instancia de um objeto chamado “OperacoesBasicas” e a utilização do método somar.
Programa
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Calculadora
{
Program
{
static void Main(string[] args)
{
int val1 = 10;
int val2 = 20;
OperacoesBasicas op = new OperacoesBasicas();//Instancia do objeto
int resultado = op.Somar(val1, val2);//Utilização do método publico
Console.WriteLine(“Resultado {0}”, resultado);
Console.ReadKey();
}
}
}
Classe
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Calculadora
{
class OperacoesBasicas
{
public int Somar(int val1, int val2)//Método publico
{
int resultado = val1 + val2;
return resultado;
}
}
}
Até o próximo post.