É possível criar objetos herdados de outros objetos, para isto é necessário conhecer o conceito dos objetos javascript. Cada objeto javascript na verdade possui um outro objeto javascript associado a ele. Este segundo objeto é chamado protótipo, e o primeiro objeto herda as propriedades do protótipo. Para herdar um objeto em javascript é preciso criar uma função usando os comandos abaixo:
New
O operador New cria e inicializa um novo objeto. A nova palavra-chave deve ser seguida por uma chamada de função ().
Object.Prototypes
A propriedade protótipo de um objeto faz referencia ao segundo objeto chamado protótipo.
Object.Create
cria um novo objeto, utilizando o seu primeiro argumento como o protótipo do objeto.
Exemplo:
Neste exemplo criamos uma função que usa o conceito de objetos para criar heranças, e usamos esta função para herdar propriedades de um objeto e usa-la em novos objetos. Você pode ver que o objeto caminhonete recebe heranças do objeto carro, o novo objeto contém todas as propriedades herdadas e suas próprias propriedades.
Html / JavaScript
<!DOCTYPE html>
<html>
<head>
<title>Desenvolvimento Aberto</title>
</head>
<body>
<h2>Desenvolvimento Aberto -Inheritance </h2>
<br>
<h3>JavaScript</h3>
<br>
<pre>
<script>
// Função herança
function inherit(objeto)
{
if (objeto == null) throw TypeError();
if (Object.create)
return Object.create(objeto);
var tipo = typeof objeto;
if (tipo !== "object" && tipo !== "function") throw TypeError();
function funcao() {};
funcao.prototype = objeto;
return new funcao();
}
// Cria objeto carro
var carro = { marca:"" , portas:"" , combustivel:"" };
carro.marca = "Ford";
carro.portas= "4 portas";
carro.combustivel = "Gasolina";
document.writeln("O objeto carro possui as seguintes caracteristicas:\n");
document.writeln("Marca: " + carro.marca);
document.writeln("Portas: " + carro.portas);
document.writeln("Combustivel: " + carro.combustivel);
// Herda objeto carro e cria um novo objeto caminhonete
var caminhonete = inherit(carro);
caminhonete.marca ="Ford";
caminhonete.portas= "4 portas";
caminhonete.combustivel = "Disel";
// Adiciona novas propriedades ao objeto
caminhonete.cabine = "Dupla";
document.writeln("\nHerança JavaScript\n");
document.writeln("O objeto carro passa suas propriedade para o objeto caminhonete\n");
document.writeln("O objeto caminhonete possui as seguintes caracteristicas:\n");
document.writeln("Marca: " + caminhonete.marca);
document.writeln("Portas: " + caminhonete.portas);
document.writeln("Combustivel: " + caminhonete.combustivel);
document.writeln("Cabine: " + caminhonete.cabine);
</script>
</pre>
</body>
</html>


