aplicação em: c# e java

Propaganda
TÉCNICAS
DE
ORIENTAÇÃO
A
OBJETOS
APLICAÇÃO EM:
C# E JAVA
Sumário
INTRODUÇÃO............................................................................................................................ 4
PARADIGMAS DE PROGRAMAÇÃO ............................................................................................ 5
PROGRAMAÇÃO PROCEDURAL.............................................................................................. 5
PROGRAMAÇÃO ESTRUTURADA ............................................................................................ 5
PROGRAMAÇÃO ORIENTADA A OBJETOS............................................................................... 5
CLASSE ...................................................................................................................................... 6
O QUE É UMA CLASSE?.......................................................................................................... 6
TIPO DE ATRIBUTOS .............................................................................................................. 6
TIPOS DE MÉTODOS .............................................................................................................. 6
MODIFICADORES DE ACESSO ................................................................................................ 7
MÉTODO CONSTRUTOR ........................................................................................................ 8
OBJETO ................................................................................................................................. 8
APLICANDO ORIENTAÇÃO A OBJETOS EM LINGUAGEM C# .................................................. 10
INSTANCIADO E PASSANDO VALORES.................................................................................. 12
APLICANDO ORIENTAÇÃO A OBJETOS EM LINGUAGEM JAVA .............................................. 13
INSTANCIADO E PASSANDO VALORES.................................................................................. 14
HERANÇA ................................................................................................................................ 15
HERANÇA MÚLTIPLA ........................................................................................................... 16
APLICAÇÃO DE HERANÇA EM C# ......................................................................................... 17
INSTANCIANDO AS CLASSES ................................................................................................ 20
APLICAÇÃO EM JAVA ........................................................................................................... 22
ABSTRAÇÃO ............................................................................................................................ 28
CLASSES E MÉTODOS ABSTRATOS. ...................................................................................... 28
APLICAÇÃO DE ABSTRAÇÃO EM C# ...................................................................................... 30
APLICAÇÃO EM JAVA ........................................................................................................... 35
ENCAPSULAMENTO ................................................................................................................ 40
ATRIBUTOS PRIVADOS......................................................................................................... 40
MÉTODOS GET E SET ........................................................................................................... 40
APLICAÇÃO DO ENCAPSULAMENTO EM C# ......................................................................... 42
MÉTODO DE ENCAPSULAMENTO 3...................................................................................... 58
APLICAÇÃO EM JAVA ........................................................................................................... 64
POLIMORFISMO ...................................................................................................................... 72
SOBRESCRITA DE MÉTODOS ................................................................................................ 72
SOBRECARGA DE MÉTODOS ................................................................................................ 73
APLICAÇÃO DO POLIMORFISMO EM C# ............................................................................... 74
APLICAÇÃO EM JAVA ........................................................................................................... 77
INTERFACES ............................................................................................................................ 80
APLICAÇÃO DE INTERFACES EM C# ...................................................................................... 81
APLICAÇÃO EM JAVA ........................................................................................................... 82
CLASSES E MÉTODOS ESTÁTICOS ............................................................................................. 83
CLASSE ESTÁTICA ................................................................................................................ 83
MÉTODOS ESTÁTICOS ......................................................................................................... 83
APLICAÇÃO DE CLASSES ESTÁTICAS EM C# .......................................................................... 84
APLICAÇÃO EM JAVA ........................................................................................................... 85
RELAÇÃO DE OBJETOS ............................................................................................................. 86
ASSOCIAÇÃO ....................................................................................................................... 86
ASSOCIAÇÃO SIMPLES ......................................................................................................... 86
AGREGAÇÃO ....................................................................................................................... 87
COMPOSIÇÃO ..................................................................................................................... 87
DEPENDÊNCIA ..................................................................................................................... 87
GENERALIZAÇÃO ................................................................................................................. 88
APLICAÇÃO DE RELAÇÃO ENTRE OBJETOS EM C# ................................................................ 89
APLICAÇÃO EM JAVA ........................................................................................................... 93
EXCEÇÕES ............................................................................................................................... 99
TRY, CATCH E FINALLY. ........................................................................................................ 99
APLICAÇÃO DE TRATAMENTO DE EXCEÇÕES EM C# ........................................................... 101
APLICAÇÃO EM JAVA ......................................................................................................... 102
INTRODUÇÃO
Nesta apostila vamos conhecer tudo que é necessário para começar a desenvolver softwares
orientados a objetos!
A seguir você vai conhecer os conceitos teóricos usando diagramas e práticos usando duas
ótimas linguagens de programação que são Java e C#.
PARADIGMAS DE PROGRAMAÇÃO
Para o inicio dos nossos estudos devemos saber o que é um paradigma de programação!
E nada mais é do que uma forma de determinar a estrutura e execução de um programa e
temos vários tipos de paradigmas vindo do procedural, passando pelo estruturado e chegando
ao orientado a objetos.
Veja a seguir um pouco mais detalhadamente os paradigmas de programação.
PROGRAMAÇÃO PROCEDURAL
Este paradigma é antigo porém ainda usado em linguagens como Cobol (usada em aplicações
gigantescas) com foco principal em instituições financeiras e pascal (para ensinar lógica de
programação).
Este paradigma consiste em chamadas de procedimentos, rotinas e sub-rotinas, métodos ou
funções que forma uma sequencia de passos a serem executados.
PROGRAMAÇÃO ESTRUTURADA
A programação estruturada era a mais usada antes de surgir a orientação a objetos.
Na programação estruturada o código é sequencial usando decisões e chamadas de repetição
criando um código em que o computador interpreta de forma sequencial usado em varias
linguagem como, por exemplo, C.
PROGRAMAÇÃO ORIENTADA A OBJETOS
Agora chegamos em nosso ponto inicial! Vamos conhecer o que é a orientação a objetos.
É um paradigma baseado na criação de classes que se possuem características e
comportamentos que quando instanciados são criados os objetos!
Vamos a seguir aprender detalhadamente esse paradigma de programação!
CLASSE
O QUE É UMA CLASSE?
A primeira que devemos conhecer na orientação a objetos é uma classe. A orientação a
objetos basicamente é um conjunto de classes que possuem métodos e atributos e se
relacionam.
Então uma classe é como um projeto de um objeto pois um objeto sempre é criado através de
uma classe.
As classes possuem atributos que são suas características e métodos que são suas ações.
Nome da Classe
Atributos
Métodos
TIPO DE ATRIBUTOS
Os atributos guardam informações para a classe que podem ser usadas pelos métodos para
realizar suas tarefas. Esses atributos possuem diversos tipos como pro exemplo: String, int,
double, float, ou seja, os tipos de dados que a linguagem que for utilizar possua.
Na figura acima temos o atributo nome que é do tipo string que é um conteúdo de texto,
porém a idade é do tipo int que recebe apenas números inteiros.
TIPOS DE MÉTODOS
Como os atributos os métodos também possuem seus tipos, todos os métodos do nosso
exemplo são do tipo void e isso significa que ele não tem valor de retorno, ou seja, não seu
final ele executa uma ação mais não passa nenhum valor. Porém podemos ter métodos do
tipos String que vai retornar uma string(texto) ao final da sua execução.
Os métodos retornam o valor do tipo declarado na sua criação se você criar um método do
tipo int ele vai retornar um numero inteiro, se for do tipo bool vai retornar um booleano
(true/false) e assim por diante.
MODIFICADORES DE ACESSO
Todos os atributos, e métodos possuem níveis de modificadores de acesso que são public,
protected e private.
Public (publico) = método ou atributo publico, significa que todas as classes podem acessar e
modificar o seu valor no caso de um atributo e executar se for um método. No digrama de
classes é representado com o símbolo de soma (+).
Protected (protegido) = neste caso os métodos e atributos estão protegidos e só podem ser
acessados na classe a qual eles pertencem e nas classes que herdam dela. Ainda vamos
aprender mais sobre herança! No digrama de classes é representado com o símbolo de
sustenido (jogo da velha ou hashtag) (# ).
Private (privado) = como privado os métodos e atributos são acessados apenas na classe onde
foram criados. No digrama de classes é representado com o símbolo de subtração (-).
Atributo privado
Atributo publico
Método publico
Atributo protegido
Método privado
Método protegido
Por padrão na orientação a objetos os atributos são privados e os métodos públicos porém
mais adiante vamos compreender tudo isso melhor.
Os método podem receber parâmetros que são valores a ser passados para o método que os
utiliza para realizar suas ações. Esse métodos podem ser de vários tipos ex: string, int bool ...
Parâmetros
MÉTODO CONSTRUTOR
Um método construtor é executado na criação do objeto e também obriga a passar suas
propriedades no momento que é feita a criação do objeto. Uma característica marcante de um
método construtor é que sua assinatura (nome) é o mesmo da classe que ele pertence.
Método
Construtor
OBJETO
Um objeto é o resultado de uma classe instanciada. Com isso uma classe pode gerar diversos
tipos de objetos diferentes onde seus atributos possuem valores diferentes tendo
características próprias, porém a estrutura é a mesma mantendo inclusive as mesmas ações já
determinadas na classe (métodos).
Nome: João
Sobrenome: Costa
Idade: 50
Peso: 76
Cor: Branco
Correr
Beber
Enxergar
Ouvir
Nome: Jose
Sobrenome: Silva
Idade: 30
Peso: 96
Cor: Pardo
Correr
Beber
Enxergar
Ouvir
Acima podemos conferir um exemplo onde temos uma classe Pessoa e com base nesta classe
criamos 2 objetos João e José onde ambos possuem a mesma estrutura porém os valores dos
atributos são diferentes criando a representação de duas pessoas diferentes.
Agora vamos aplicar nas linguagens de programação Java e C#.
APLICANDO ORIENTAÇÃO A OBJETOS EM LINGUAGEM C#
Este é um exemplo da classe exibida no capitulo anterior porém os métodos estão sem o
conteúdo .
PARTE 2
Agora alteramos os atributos para publico para facilitar o exemplo da instanciação que vamos
fazer a seguir. Também criamos o conteúdo dos métodos.
INSTANCIADO E PASSANDO VALORES
Neste exemplo estamos instanciando a classe pessoa e criando o objeto p passamos valores
através de seus atributos, chamamos deus métodos.
APLICANDO ORIENTAÇÃO A OBJETOS EM LINGUAGEM JAVA
INSTANCIADO E PASSANDO VALORES
HERANÇA
Acredito que você já tenha ouvido falar em herança. E sabe que um filho herda coisas que sei
pai deixou. Ai me pergunta. O que isso tem haver com orientação a objetos? A Resposta é:
Tudo!
A herança é um dos grandes pilares da programação orientada a objetos onde temos a
presença de uma superclasse (também conhecida como classe pai ou classe mãe) que passa
atributos e métodos para a classe de nível mais baixo a subclasse (também conhecida como
classe filha). Com isso temos a reutilização de código porque com a herança podemos criar um
método que faça uma determinada ação e todas as classes que herdar da classe onde ele foi
criado já recebe essa função.
Na imagem acima podemos notar que a classe pessoas possui os métodos e atributos
necessários para criar um objeto pessoa, porém necessitamos ser mais específicos e em nosso
sistema teremos a classe funcionário que é uma pessoa, porém como funcionário tem algumas
funções a mais, com isso a classe funcionário herda os métodos e atributos da classe pessoa e
implementa seus próprio métodos e atributos. E da mesma forma funciona as classes
Fornecedor e Cliente.
Abaixo veja mais um tipo de herança onde teremos a classe gerente que nada mais é do que
um funcionário que possui mais funções, portanto ele pode fazer tudo o que uma pessoa e um
funcionário somando ainda as suas funções especificas. Lembrando que muitas pessoas
confunde isso com herança múltipla, mas não é herança múltipla veremos no próximo tópico
deste capitulo.
HERANÇA MÚLTIPLA
Herança múltipla é quando uma classe recebe a herança de duas ou mais classes ao mesmo
tempo. A herança múltipla não existe em varias linguagens de programação como, por
exemplo, Java e C# que estamos estudando.
APLICAÇÃO DE HERANÇA EM C#
CLASSE FUNCIONÁRIO
Esta é a classe funcionário com seus métodos implementados e passando a programação a sua
herança da classe pessoa.
Repare que tivemos de criar um método construtor na classe fornecedor, funcionário, cliente e
gerente, porque coma criação de um construtor na classe base as herdeiras também deve ter
um para isso criamos um construtor e pegamos o valor da base.
CLASSE FORNECEDOR
Esta é a classe fornecedor com seus métodos implementados e passando a programação a sua
herança da classe pessoa.
CLASSE CLIENTE
Esta é a classe cliente com seus métodos implementados e passando a programação a sua
herança da classe pessoa.
GERENTE
Esta é a classe Gerente com seus métodos implementados e passando a programação a sua
herança da classe funcionário possuindo tudo que contem na classe pessoa e funcionário além
de seus próprios métodos e atributos.
INSTANCIANDO AS CLASSES
FUNCIONÁRIO
FORNECEDOR
CLIENTE
GERENTE
APLICAÇÃO EM JAVA
CLASSE FUNCIONÁRIO
CLASSE FORNECEDOR
CLASSE CLIENTE
CLASSE GERENTE
INSTANCIANDO AS CLASSES
CLASSE FUNCIONARIO
CLASSE FORNECEDOR
CLASSE CLIENTE
CLASSE GERENTE
ABSTRAÇÃO
A abstração é outro pilar importantíssimo da orientação a objetos, devemos sempre pensar do
mais abstrato para o mais concreto. Observe a figura abaixo:
Note que a classe pessoa já possui todos os métodos e atributos para criar um objeto pessoa,
mas isso pode vago por isso definimos a classe funcionário que é uma pessoa, porém já é uma
função mais especifica, sendo assim descobrimos que a classe pessoa é a superclasse da classe
funcionário que por sua vez é a subclasse de pessoa. Assim como gerente é uma subclasse de
funcionário, ou seja, gerente recebe os métodos e atributos de pessoa, funcionário e os seus.
CLASSES E MÉTODOS ABSTRATOS.
Uma classe quando abstrata fica com o papel de apenas servir de base para outras classes
assim não pode ser instanciada e faz o importante papel de passar métodos e atributos que
serão herdados pelas suas subclasses.
Outra grande vantagem é que ela pode conter métodos abstratos que são métodos que
possuem apenas sua assinatura (não implementados) assim obrigando que as classes herdeiras
implemente esses métodos.
No exemplo acima podemos ver que a classe pessoa virou abstrata porque o texto no nome da
classe esta em italico assim como seus métodos que agora são abstratos obrigando as
subclasses a implementas esses métodos e não sendo mais implementados na classe pessoa.
Acima do nome da classe pessoa note que foi adicionado um estereotipo (stereotype)
indicando que é uma classe abstrata isso é opcional usado apenas para facilitar o
entendimento do diagrama.
APLICAÇÃO DE ABSTRAÇÃO EM C#
CRIANDO SUPER CLASSE ABSTRATA
Agora nossa super classe é abstrata e seus métodos também são abstratos de forma que são
implementados na classe Pessoa e sim nas classes herdeiras.
CLASSE FUNCIONÁRIO
CLASSE FORNECEDOR
CLASSE CLIENTE
CLASSE GERENTE
APLICAÇÃO EM JAVA
CLASSE PESSOA ABSTRATA
CLASSE FUNCIONÁRIO
CLASSE FORNECEDOR
CLASSE CLIENTE
CLASSE GERENTE
ENCAPSULAMENTO
Quando alguém te fala sobre encapsulamento certamente você deve imaginar que é algo
dentro de uma capsula! E não esta totalmente errado.
Encapsulamento em orientação a objetos consiste em isolar os atributos de uma classe não
permitindo o acesso direto de outras partes do sistema permitindo assim que apenas a classe
que é dona do atributo possa ter acesso.
ATRIBUTOS PRIVADOS
Seguindo as boas pratica da programação orientada a objetos os atributos de uma classe
sempre devem ser privado assim deixar eles apenas acessíveis a classe onde foi criado.
Agora você me pergunta se apenas a classe que o atributo pertence pode ter acesso a ele
como vamos passar um valor ou pegar um valor dessa classe!
E a resposta é simples. Através de métodos.
MÉTODOS GET E SET
Como foi dito ao aplicar os atributos como privados precisamos criar métodos para poder
alterar o valor ou pegar o valor de um atributo. Os métodos usados são get e set.
GET: Pegar o valor contido no atributo.
SET: Altera o valor do atributo.
Com esses métodos podemos controlar as alterações dos atributos e ainda podendo permitir
apenas uma das ações caso necessário.
Com essa pratica de tornar os atributos privados e usar os métodos para pegar e passar valor
aos atributos temos o encapsulamento.
Atributos
privados
Métodos
Get e Set
APLICAÇÃO DO ENCAPSULAMENTO EM C#
MÉTODO DE ENCAPSULAMENTO 1
CLASSE PESSOA
CLASSE FUNCIONÁRIO
CLASSE FUNCIONÁRIO INSTANCIADA
CLASSE FORNECEDOR
CLASSE FORNECEDOR INSTANCIADA
CLASSE CLIENTE
CLASSE CLIENTE INSTANCIADA
CLASSE GERENTE
CLASSE GERENTE INSTANCIADA
MÉTODO DE ENCAPSULAMENTO 2
CLASSE PESSOA
CLASSE FUNCIONÁRIO
CLASSE FUNCIONÁRIO INSTANCIADA
CLASSE FORNECEDOR
CLASSE FORNECEDOR INSTANCIADA
CLASSE CLIENTE
CLASSE CLIENTE INSTANCIADA
CLASSE GERENTE
CLASSE GERENTE INSTANCIADA
MÉTODO DE ENCAPSULAMENTO 3
CLASSE PESSOA
CLASSE FUNCIONÁRIO
CLASSE FUNCIONÁRIO INSTANCIADA
CLASSE FORNECEDOR
CLASSE FORNECEDOR INSTANCIADA
CLASSE CLIENTE
CLASSE CLIENTE INSTANCIADA
CLASSE GERENTE
CLASSE GERENTE INSTANCIADA
APLICAÇÃO EM JAVA
CLASSE PESSOA
CLASSE FUNCIONÁRIO
CLASSE INSTANCIADA
CLASSE FORNECEDOR
CLASSE INSTANCIADA
CLASSE CLIENTE
CLASSE INSTANCIADA
CLASSE GERENTE
CLASSE INSTANCIADA
POLIMORFISMO
Polimorfismo (Varias formas) é a capacidade de objetos com origens iguais (heranças) realizar
ações diferentes.
Com o polimorfismo a orientação a objetos permite criar objetos vindos de classes
semelhantes terem ações diferentes de acordo com sua necessidade especificas, ou seja,
heranças parecidas mais comportamentos diferentes.
SOBRESCRITA DE MÉTODOS
A sobrescrita de métodos permite em uma classe herdeira reescrever a ação do método que
herdou adaptando as suas necessidades.
“Na sobrescrita o método é mantido com a mesma assinatura porém com alguma diferença na
sua execução”.
Método
padrão
Método
Sobrescrito
SOBRECARGA DE MÉTODOS
A sobrecarga de métodos consiste em uma determinada classe possuir 2 ou mais métodos
com a mesma assinatura(nome) porém cada um com uma ação, tipo e parâmetros diferentes.
Essa sobrecarga também se aplica aos métodos construtores.
Métodos
Sobrecarregados
Método
Construtor
Sobrecarregado
APLICAÇÃO DO POLIMORFISMO EM C#
SOBRESCRITA DE MÉTODO
CLASSE FUNCIONÁRIO
CLASSE GERENTE
INSTANCIADOS AS CLASSES
FUNCIONÁRIO
GERENTE
SOBRESCRITA DE MÉTODOS
CLASSE FUNCIONÁRIO
CLASSE INSTANCIADA
APLICAÇÃO EM JAVA
SOBRESCRITA DE MÉTODO
CLASSE FUNCIONÁRIO
CLASSE GERENTE
INSTANCIADOS AS CLASSES
FUNCIONÁRIO
GERENTE
SOBRESCRITA DE MÉTODOS
CLASSE FUNCIONÁRIO
CLASSE INSTANCIADA
INTERFACES
Depois de tudo que passamos você já deve imaginar que já viu tudo sobre orientação a
objetos, porém ainda falta muito!
O assunto agora é interface e não tem nada ligado à parte gráfica. As interfaces na orientação
a objetos é uma forma de garantir que as classes implemente determinados métodos
independente de onde esteja herdando.
A interface funciona como um contrato onde a classe que o implementa deve por obrigação
possuir todos os métodos conditos nela.
Ao contrario da herança que varias linguagens não suporta a herança múltipla você pode
implementar varias interface em uma mesma classe.
Abaixo veja um diagrama de classes implementando a interface IEntradaSaida nas classes
funcionário, gerente e cliente. Note que ela começa com “I” maiúsculo como convenção de
nome para identificar que é uma interface inclusive colocando no diagrama o estereotipo
<<interface>>.
APLICAÇÃO DE INTERFACES EM C#
INTERFACE
INTERFACE IMPLEMENTADA NA CLASSE FUNCIONÁRIO
INTERFACE IMPLEMENTADA NA CLASSE GERENTE
INTERFACE IMPLEMENTADA NA CLASSE CLIENTE
APLICAÇÃO EM JAVA
INTERFACE
INTERFACE IMPLEMENTADA NA CLASSE CLIENTE
INTERFACE IMPLEMENTADA NA CLASSE GERENTE
INTERFACE IMPLEMENTADA NA CLASSE FUNCIONÁRIO
CLASSES E MÉTODOS ESTÁTICOS
Agora vamos aprender sobre classes e métodos estáticos que facilitam a vida de todo
programador criando recursos que podem ser usados sem a necessidade de instancia uma
classe e criar um objeto.
CLASSE ESTÁTICA
A classe estática é uma classe como outra qualquer porém não pode ser instanciada e é
utilizada como recipiente para os métodos estáticos.
MÉTODOS ESTÁTICOS
Os métodos e atributos estáticos podem estar presentes em classes estáticas ou em classes
normais, porém para chamar um método ou atributo estático não é necessário instanciar uma
classe e sim apenas informa a classe e depois o método/atributo tornando assim uma forma
fácil de criar métodos que sempre devem ser usados em diferentes situações.
APLICAÇÃO DE CLASSES ESTÁTICAS EM C#
CLASSE ESTÁTICA UTILITÁRIO
APLICAÇÃO NO PROGRAMA
APLICAÇÃO EM JAVA
CLASSE UTILITÁRIO
APLICAÇÃO NO PROGRAMA
RELAÇÃO DE OBJETOS
Neste capitulo vamos falar sobre as formas em que as classes se relacionam, já vimos uma
parte importante que é a herança e agora vamos ver outros tipos de relação.
ASSOCIAÇÃO
Toda ligação entre dois objetos é uma associação, porém temos vários tipos de associação
como vamos acompanhar abaixo.
ASSOCIAÇÃO SIMPLES
Mostra que um objeto esta conectado ou contem outro.
Todas as associações possuem Nome, navegabilidade, cardinalidade(multiplicidade).
Cardinalidade
Nome
Navegabilidade
AGREGAÇÃO
É uma associação especial onde nesse relacionamento um objeto contem outro de forma que
os dois tem igual importância e podem continuar existindo caso o um seja extinto.
COMPOSIÇÃO
A relação de composição funciona de forma parecida com a agregação porém um objeto é
totalmente dependente do outro sendo que se o principal deixar de existir o outro também e
extinto.
DEPENDÊNCIA
Na dependência um objeto depende das especificações do outro.
GENERALIZAÇÃO
A generalização basicamente é a herança.
EXEMPLO DIAGRAMA COMPLETO
APLICAÇÃO DE RELAÇÃO ENTRE OBJETOS EM C#
CLASSE PESSOA
CLASSE CLIENTE
INTERFACE IDADOS
CLASSE FILIAL
CLASSE BANCO
CRIANDO OBJETOS E EXECUTANDO MÉTODOS
APLICAÇÃO EM JAVA
CLASSE PESSOA
CLASSE CLIENTE
INTERFACE IDADOS
CLASSE FILIAL
CLASSE BANCO
CRIANDO OBJETOS E EXECUTANDO MÉTODOS
EXCEÇÕES
Em todo software existem erros e nós como programadores tentamos ao máximo corrigir
essas falhas fazendo com que não apareça para o usuário.
Pense na seguinte situação quando você pede em um campo um valor numérico e o usuário
digita uma letra é claro que na hora de uma ação como um calculo vai apresentar um erro isso
é uma exceção e vai gerar uma mensagem que vai assustar o usuário, por isso vamos fazer um
tratamento para essas exceções.
TRY, CATCH E FINALLY.
Para fazer esse tratamento de exceções usamos o bloco try, catch e finally presentes, por
exemplo, nas linguagens Java e C#.
Colocamos o código que vai ser monitorado dentro do try, as exceções dentro do catch e no
finally a ação final que sempre será executada.
Então se o código dentro do try tiver um exceção ativa o catch correspondente porque pode
haver um ou mais catch cada um com uma exceção diferente, e se caso o try não conter
exceção o catch não é executado já o finally é executado de qualquer forma pode ser usado
por exemplo para fechar uma conexão com banco de dados.
HIERARQUIA DAS CLASSES DE EXCEÇÃO DO .NET FRAMEWORK
Fonte: http://www.devmedia.com.br
HIERARQUIA DE HERANÇA DA CLASSE THROWABLE
Fonte: http://www.devmedia.com.br
APLICAÇÃO DE TRATAMENTO DE EXCEÇÕES EM C#
MÉTODO PRINCIPAL DA CLASSE PROGRAM
CLASSE ESTÁTICA CALCULO
APLICAÇÃO EM JAVA
CLASSE CALCULO
MÉTODO PRINCIPAL DA CLASSE
Download