Predefinição:Sidebar Os Atributos em Programação Orientada a Objetos são os elementos que definem a estrutura de uma classe. Os atributos também são conhecidos como variáveis de classe, e podem ser divididos em dois tipos básicos: atributos de instância e de classe. Os valores dos atributos de instância determinam o estado de cada objeto. Um atributo de classe possui um estado que é compartilhado por todos os objetos de uma classe. Atributos de classe podem ser chamados também de atributos estáticos .Constantes são considerados atributos de classe quando estão fora de qualquer método.[1]
As mensagens enviadas a um objeto (chamada de um método) podem mudar o valor de um ou mais atributos, alterando o estado de um objeto.
Um atributo é um dado para o qual cada objecto tem seu próprio valor. Atributos são, basicamente, a estrutura de dados que vai representar a classe. Exemplo de atributos, usando a classe fila: int f [100] ; int primeiro, ultimo;
Exemplo com XHTML e JavaScript
<html>
<head>
<script language="javascript">
function alerta(){
// Recuperando valores de atributos com o método "getAttribute"
alert(document.form.texto.getAttribute("a_atrib"));
document.form.texto.value = document.form.texto.getAttribute("a_atrib");
}
</script>
</head>
<body>
<form name="form">
<!-- Neste caso, "a_atrib" é um atributo criado pelo programador,
e "name" é um atributo nativo do html -->
<input type="text" name="texto" id="texto" a_atrib="valor de um atributo">
<input type="button" name="bto" id="bto" onClick="alerta();" value="Ok">
</body>
</form>
</html>
Exemplo com C#
public class Caixa{
//Autor: Mateus Mesquita
//Data: 16 de setembro de 2011
//atributos de instancia, cada instancia(objeto) da classe Caixa conterá
//estes "valores" independentes de outra instancia(objeto)
int altura, comprimento, largura;
//atributos de classe, isto é TODAS as instancias dessa classe
//compatilharão estes atributos
//Por default em C# todas as variaveis staticas recebem o valor de
//0 para valores numericos, false para booleanos e null para referencias
static int quantidadeDeCaixasExistentes;
//Properties que modificam o valores de instancia.
//Nota: Deveriam escrutinar valores invalidos como < 0
public int Altura{
get{ return altura;}
set{ altura = value;}
}
public int Largura{
get{ return largura;}
set{ largura = value;}
}
public int Comprimento{
get{ return comprimento;}
set{ comprimento = value;}
}
//metodo que permite acessar o valor de Quantidade de Caixas
//partilhado entre todas as instancias
public static int getQuantidadeDeCaixas(){
return quantidadeDeCaixasExistentes
}
//Construtor da classe Caixa
public Caixa(int altura, int largura, int comprimento){
//Quando um objeto da classe for criado,
//a linha seguinte incrementa o valor de caixas existentes
//como este valor é partilhado por todos os objetos
//qualquer objeto estará ciente da quantidade de caixas
//automaticamente, não sendo nescessario incrementar o valor
//separadamente em todos os objetos
quantidadeDeCaixasExistentes++;
//faz uso das properties para setar os valores recebidos como parametros
Altura = altura;
Largura = largura;
Comprimento = comprimento
}
}
Exemplo com Java
public class Endereco{
/// pais, estado, bairro rua e cep são atributos da classe Endereco
protected String pais;
protected String estado;
protected String bairro;
protected String rua;
protected int cep;
Endereco(String p , String e, String b, String r, int c){ // construtor da classe Endereco
this.pais = p;
this.estado = e;
this.bairro = b;
this.rua = r;
this.cep = c;
}
/// aqui começa as definições nos métodos modificadores dos atributos da classe Endereco.
///Os métodos Set's são para colocar/alterar os valores. os get's são para acessar/retornar os valores.
public void setPais(String p){ this.pais = p;}
public void setBairro(String b){ this.bairro = b;}
public void setEstado(String e){ this.estado = e;}
public void setRua(String r){ this.rua = r; }
public void setCep(String c){ this.rua = c; }
public String getPais(){ return this.pais; }
public String getBairro(){ return this.bairro;}
public String getEstado(){ return this.estado; }
public String getRua(){ return this.rua; }
public int getCep(){return this.cep; }
// aqui termina as definições
}
class Pessoa{
// a classe pessoa é composto por 3 atributos simples e um complexo(endereço)
Pessoa(String n, Date d){} //construtor da class
private Date dataNascimento; // atributo simples
private String nome; // atributo simples
protected Endereco adress; // // atributo complexo, pois ele é do tipo class Endereço.
public void setEnd(Endereco end ){ this.adress = end;}
public Endereco getEnd(){ return this.adress;}
public Date getDataNasc(){ return this.dataNascimento;}
public String getNome(){ return this.nome;}
Public static void main(String[] args){
Pessoa PS = new Pessoa("Meavdee", new Date(03,03,1983));
PS.setEnd( new Endereco("Brazil","CE","Parquelândia","Tipografo Sales",1111111));
System.out.println("Eu moro em :"+PS.adress.getBairro());
}
}
sv:Objektorienterad programmering#Attribut
- ↑ Mössenböck, Hanspeter (25 de março de 2002). «Advanced C#: Variable Number of Parameters» (PDF). http://ssw.jku.at/Teaching/Lectures/CSharp/Tutorial/: Institut für Systemsoftware, Johannes Kepler Universität Linz, Fachbereich Informatik. p. 44. Consultado em 8 de agosto de 2011