Apostila de Orientação a Objetos

27 respostas
danieldestro

Galera, acabei de preparar uma apostila sobre Orientação a Objetos.

Aos interessados, fiquem a vontade para usar o material para estudos.

Gostaria de um feedback sobre o material.

http://java.danieldestro.com.br

[size=9]Palavras-chave: OO, OOP, POO, Orientação a Objetos, Programação Orientada a Objetos, ao Objetos.[/size]

27 Respostas

dsiviotti

A apostila é muito boa para conceito de OO. A figura do carro e do projeto como objeto e classe ficou ótimo:lol:! Parece idiotice mas quem está aprendendo realmente embaralha classe e objeto. Lembro que na faculdade quando a matéria Linguagem de Programação foi Pascal, todo mundo fundiu a cuca. Se não me engano, no Pascal a palavra reserada para declarar uma classe era “Object” :shock: . No delphi já é class mesmo.

cv1

A confusao entre classe e objeto eh bem justificada, pq na OO voce nao precisa de classes!

Hmm… deixa eu repetir essa:

Orientacao a objetos nao implica na existencia de classes! Orientacao a objetos implica na existencia de objetos, e nao necessariamente nada mais do que isso.

Vejamos:

JavaScript nao tem classes, e eh tao OO quanto Java.

Io (http://www.iolanguage.com) nao tem classes, e eh “mais OO” do que Java (por nao ter tipos primitivos)

Self (http://research.sun.com/self/) idem acima.

Nao eh a toa que a separacao de conceitos entre classes e objetos eh confusa - pq ela na verdade nao existe (afinal, a “‘planta’ de um objeto” tambem eh um objeto, e deveria seguir as mesmas regras, nao?)

Luca

Olá

Para esclarecer de vez (ou não, hehehe) vou usar uma definição que aprendi desde quando pela primeira vez tomei contato com OO (com Bjarne Stroustrup em C++ Programming Language):

“An object is a region of storage”

Traduzindo:
Um objeto é apenas e tão somente um pedaço da memória do meu programa em execução.

Explicando:
:arrow: Dentro da memória do meu programa em execução não existe nenhuma classe.

:arrow: No meu código fonte não existe nenhum objeto.

Em outras palavras

  • Classes são tipos, isto é, são apenas definições. Só existem onde a gente define as coisas: papel, lousa, código fonte, cabeça, etc.

  • Objetos são montes de bits e só existem na memória (primária, secundária, etc.), nunca existem no papel, na lousa ou no código fonte.

Por este motivo é que sempre morro de rir quando alguém pergunta em um teste de admissão em empresa como se faz para converter uma classe string em inteiro. Uma das respostas certas é: usando lápis e borracha. Apaga String e escreve Integer. :lol:

[]s
Luca

lucao

Cara, parabéns, muito boa, principalmente para iniciantes !!

Java_Vinicius_Machin

Dei uma lida meio por cima mas ao que parece tah muito boa meu! :thumbup:

fmeyer

Boa Daniel, Parabens

cv1

Nao sei se essa definicao eh muito boa, nao, Luca - ela, de certa forma, implica que um objeto nao possui codigo. Da mesma forma, a seguinte definicao tambem eh valida, em C:

Claro, tudo depende da definicao de “region of storage” que voce usa, e provavelmente a que o Strutssoup (que trocadilho horrendo, afe maria) usou encaixava direitinho na maneira com que ele via objetos em C++. Com um pouco mais de ginastica mental, dava ate pra imaginar essa “region of storage” contendo referencias para os metodos e objetos-pai (superobjetos?), mas ainda acho meio confuso.

Eu prefiro pensar em objetos como bonequinhos do Commandos em Acao passeando pela memoria e interagindo entre si. Mas eu sou doente :mrgreen:

1112

Muito legal.

O melhor é que eu estou organizando material para um curso de reciclagem por aqui na empresa (sim, temos muitos aqui que sabem como não programar em Java e efetivamente o fazem) e eu gostei de ver que eu e o Daniel abordamos pontos parecidos, o que siginifica que, se estamos errando, estamos errando igual. :¬P

P.S.: só que há um “intâncias” na página 13.

Luca

Olá

Sempre adorei esta definição pq deixa claro a diferença entre classe e objeto.

É óbvio que uma instância de um tipo byte, int, double ou strut também são pedaços de memória. Mas neste caso ninguém tem dúvida do que é tipo que só existe no papel e o que é a alocação na memória.

[]s
Luca

Lich_King

então objetos é q são convertidos e não classes…é isso, neh? 8)

grprado

Sim

Alguma vez você converteu um objeto A para uma classe B? Ou uma classe A para uma classe B?

Você sempre converte um objeto para outro.

T

cara vo começar a ler a apostila agora… foi oq ue eu estava procurando…

jajaj posto minhas dúvidas, o pessoal ta elogiando demais!

abração!

T

Falei que iria ler e está aqui minhas dúvidas.

apostila muito bem feita

Duvidas:

- Abstração

Pelo que eu entendi Abstração, eu pego a Classe e modifico o que eu vou precisar?
Ex:
Conta corrente -> modifico as taxas ? (caso eu precise).

Isso seria Abstração.

- Encapsulamento

protege meus metodos dentro da minha classe ?

Ex: Classe carro, eu não posso deixar um carro com 3 rodas.

- Herança

tenho a classe Carro,  ai eu vou e herdo ela, a classe que está herdando pode adicionar mais metodos e estados !

Ex: herdei a classe carro, so que o novo carro vai ter um pneu atrás isso é uma herança?

-Polimorfismo

Eu tenho o Objeto Anda, faço polimorfismo em um metodo, esse metodo pode mandar andar para Frente ou para Tráz, correto ?

Classe Abstrata:
	não entendi.

Interface
	não entendi.
Gustavo_Flores

Muito boa, parabéns!!!

Me ajudou bastante :slight_smile:

J

Muito boa a apostila… :slight_smile:

Tente revisar os erros de português apenas, como por exemplo a palavra “paradigma”, que no slide de Conclusão está acentuado, como a palavra “si”, no 7º slide… Além de outros…

No mais, ajudou-me muito a compreender realmente o que é a Orientação a Objetos, já que estou preparando uma apresentação de trabalho da Faculdade…

Obrigada,

Fernanda Cerqueira

Marcio_Nogueira

A diferença entre Classe e Objeto, é que a Classe seria a “forma” e o Objeto o produto “fabricado” pela forma.

C

Essa apostila esta melhor que a do meu curso.

danieldestro

Qual é o seu curso?

C

cv1

E a forma nao deixa de ser um objeto, tambem? Quem fabrica as formas?

Grinvon

:evil: :evil:
http://www.softechnetwork.com.br/java/CursoOO.zip

Não consigo baixar aqui, ta em .zip

alguma alma caridosa, gentil, honesta, valente, corajosa, hedonista e feliz pode por favor
enviar esse arquivo para mim??

[email removido]

Grinvon

Pronto recebi a apostila, agradeço ao usuário Claudinei (não sei se o nick dele é o mesmo do nome aqui).

Muito obrigado!

bzanchet

deus?

:smiley:

R

Deus*

pcstwo

Luca:

Eu prefiro pensar em objetos como bonequinhos do Commandos em Acao passeando pela memoria e interagindo entre si. Mas eu sou doente :mrgreen:

Cara, não acho você tão doente assim (rs) porque também vejo desta forma. :thumbup:

Grinvon

Bom, parabéns Daniel, sua apostila está clara, objetiva e interessante.

I

Obrigado pelas opostilas, vai ser muito útil para mim, que sou iniciante em java e estou com muita vontade de aprender tais conceitos, principalmente java para web… e oop… valeu

Criado 8 de maio de 2005
Ultima resposta 2 de nov. de 2009
Respostas 27
Participantes 20