por funcoes e procedimentos parametrizados, criando funcoes genericas onde resolvem um subproblema.Poderiamos ficar falando so sobre abstracao de dados, o que considero o mais importante para se construir programa bem modularizados e consequentemente orientados a objetos. O aspecto mais importante e como dado um problema criar sua abstracao, ou seja, quais aspectos sao relevantes e como representa-los. Conhecer as tecnicas para implementar uma abstracao e menos relevante, pois nao garante a construcao de um bom aplicativo.O.O claro que o leitor ja deve ter escutado esse termo e para muito pode ser assustador e complexo, no entanto nao e, a aplicacao da tecnica nao e complexo e atualmente traz muitas vantagens para o desenvolvimento e esse conceito e o utilizado nas novas linguagens de programacao.Onde temos o JAVA e .NET totalmente orientados a objetos. E ja temos bancos de dados tambem O.O , onde para mim sera a nova arquitetura usada num futuro proximo.Entao para os desenvolvedores manterem-se atualizados devem regacar as mangas, respirar fundo e cair de cabeca neste assunto. Espero que este artigo seja o pontape inicial para muitos em programacao orientada a objetos.OBJETOUm objeto e tudo aquilo que existe.Poderia ser um cliente, um carro, um relogio. Em termo computacional um objeto e a representacao de algo que existe. Voce deve abstrair um "objeto" real para representa-lo computacionalmente, como, por exemplo, construir o objeto carro.Os objetos sao incrivelmente uteis, pois transformam a engenharia de software em algo semelhante a blocos de concretos para construcao. Assim quem utiliza nao precisa entender como o bloco foi construido e isso se chama encapsulamento.Para entender melhor o que seria um objeto vamos usar como exemplo um radio. Existem varias coisas que voce pode fazer com esse objeto, como: ligar ou desligar, escutar o som, aumentar o volume, escolher uma estacao. E voce nao precisa entender como tudo funciona para poder executar essas atividades.Na engenharia de software os objetos funcionam basicamente da mesma maneira. Uma vez que tenha um objeto, voce pode usar, pedir que ele faca coisas sem ter que entender como seus detalhes internos estao implementados.Em geral os objetos possuem as seguintes caracteristicas:IdentidadeEstadoComportamentoENCAPSULAMENTOO conceito basico por tras da orientacao a objeto e o encapsulamento.O que e muito simples de entender. A todo o momento estamos trabalhando com "algo" encapsulado. Como por exemplo, o uso do componente Common Dialog, usamos as propriedades e metodos desse componente, mas nao vemos como esta implementado. O uso de dll, ocx, API sempre utilizamos e nao sabemos como esta implementada, ou seja, o codigo esta encapsulado.METODOS E PROPRIEDADESVoce utiliza os objetos atraves dos seus metodos e propriedades.Os metodos sao algo que voce pede para o objeto fazer como: aumentar o som do Radio ou criar um novo cliente. As propriedades descrevem as caracteristicas do objeto.Como por exemplo: para um objeto pessoa o nome, endereco, telefone seriam as propriedades. E o que voce pode fazer com essa pessoa seria um metodo.VISIBILIDADEAlgumas partes do seu objeto serao privadas, enquanto outras serao publicas. Os metodos e propriedades publicas serao a interface do seu objeto com o usuario. E o que voce espera