Classes Python (Linux)

Publicado: 7 de fevereiro de 2014 em Python

Programação Orientada a objeto

Programação orientada a objetos representa o mundo real. Na programação orientada a objetos, implementa-se um conjunto de classes que definem os objetos presentes no sistema de software.

Classes

Em orientação a objetos, uma classe é uma estrutura que abstrai um conjunto de objetos com características similares. Em comparação com outras linguagens de programação, mecanismo de classe do Python adiciona as classes no mínimo com uma nova sintaxe e semântica. É uma mistura de mecanismos equivalentes encontrados em C + + e Modula-3. Classes Python fornecem todas as características padrão de Programação Orientada a Objetos: o mecanismo de herança de classe permite múltiplas classes base, uma classe derivada pode substituir os métodos de sua classe base ou classes, e um método pode chamar o método de uma classe base com o mesmo nome . Os objetos podem conter quantidades arbitrárias e tipos de dados. Como é o caso para os módulos, as classes participam da natureza dinâmica do Python: eles são criados em tempo de execução, e pode ser modificado ainda mais após a criação.

As definições de classe, como definições de funções (declarações def) devem ser executados antes que tenham qualquer efeito. (Você pode conseguir colocar uma definição de classe em um galho de uma instrução if ou dentro de uma função.)

Na prática, os comandos dentro de uma definição de classe será geralmente as definições de função, mas outras declarações são permitidas, e às vezes útil – nós vamos voltar a isso mais tarde. As definições de função dentro de uma classe normalmente têm uma forma peculiar de lista de argumentos, ditada pelas convenções de chamada para métodos – de novo, isso é explicado mais tarde.

Objeto Classe

Objetos de Classe suportam dois tipos de operações: referências a atributos e instanciação.

Atributo referências usam a sintaxe padrão utilizado para todas as referências a atributos em Python: obj.name. Nomes de atributos válidos são todos os nomes que estavam no namespace da classe quando o objeto classe foi criado. Assim, se a definição de classe ficou assim:

class MinhaClasse:
"""Um simples exemplo de classe"""
i = 12345 
def f(self):
return 'Olá Mundo'

Então MinhaClasse.i e MinhaClasse.f são referências a atributos válidos, retornando um inteiro e um objeto função, respectivamente. Atributos de classe também pode ser atribuído, de modo que você pode alterar o valor de MinhaClasse.i por atribuição. __doc__ também é um atributo válido, que retorna a docstring pertencente à classe: “Um simples exemplo de classe”.

Instanciação de classe usa a notação de função. Apenas finja que o objeto classe é uma função sem parâmetros que retorna uma nova instância da classe. Por exemplo:

x = MyClass()

cria uma nova instância da classe e atribui esse objeto para a variável local x.

A operação de instanciação (“chama” um objeto de classe) cria um objeto vazio. Muitas classes criam objetos com instâncias customizadas para um estado inicial específico. Portanto, uma classe pode definir um método especial chamado __ init__ (), assim:

class Complex:
      def __init__(self, realpart, imagpart):
          self.r = realpart
          self.i = imagpart

x = Complex(3.0, -4.5)
x.r, x.i

Exemplo de Classe

#!/usr/bin/env python
# -*- coding: latin-1 -*-
# Desenvolvimento Aberto
# Empregados.py

# Importa OS
import os

# Limpa a tela
os.system("clear")
# Classe comum para os empregados
class Empregados:
     empCount = 0
     def __init__(self, nome, salario):
        self.nome = nome
        self.salario = salario
        Empregados.empCount += 1
     def displayCount(self):
        print "Total de Empregados  %d" % Empregado.empCount
     def displayEmpregados(self):
        print "Nome : ", self.nome,  ", Salario: ", self.salario

# Cria o primeiro objeto da classe empregados
emp1 = Empregados("Patricia", 2000)

# Cria o segundo objeto da classe empregados
emp2 = Empregados("Augusto", 5000)
# Cria o terceiro objeto da classe empregados
emp3 = Empregados("Marcia",3000)

# Mostra os empregados
emp1.displayEmpregados()
emp2.displayEmpregados()
emp3.displayEmpregados()
# Imprime total de empregados
print ""
print "Total de empregados %d" % Empregados.empCount
Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s