Olá, de uma forma muito sucinta, um objecto ou uma classe é composta por:
-Comportamentos ou eventos
-Métodos, que são os comandos ou funções que executa
-Atributos, que são as suas propiedades ou características
-Hereditariedade, pode-se criar um novo objecto a partir de um existente, que herdará todas as sua características, acrescidas das novs que lhe irás adicionar. Assim não tens que criar um objecto de raíz para que tenha as funcionalidades extra que pretendes.
Por exemplo para criares um botão numa janela de um programa ou uma página web. Depois de criares o objecto do tipo "botão"
-dá-lhe os atributos: nome, legenda, altura, comprimento, cor, tipo de letra
-adicionas o comportamento, o que acontece nos eventos: quando o utilizar clica no botão, ou quando passa o rato por cima (mudar de cor por exemplo)
-Se objecto tiver comandos, podes invocar esses comandos a partir de um evento de outro objecto (no caso do botão não se encaixa).
Mas se fosse um objecto para enviar emails: nos atributos indicavas os emails, a mensagem, o assunto, no final executas o comando enviar, e podias verificar o evento EstadoDeEnvio para saber se a mensagem foi enviada ou não e dar a mensagem adequada ao utilizador.