python oops concepts python classes
Conceitos de OOPs em Python: classes e objetos Python, herança, sobrecarga, substituição e ocultação de dados
No tutorial anterior, alguns dos Operações de entrada / saída que o Python fornece.
Aprendemos como usar essas funções para ler os dados do usuário ou de fontes externas e também como gravar esses dados em fontes externas. Além disso, aprendemos como dividir um código enorme em métodos menores usando funções e como chamá-los ou acessá-los.
Leitura Adicional => Gama explícita de tutoriais gratuitos de treinamento em Python
Neste tutorial, discutiremos o conceito de Python avançado chamado OOPs e diferentes tipos de conceitos de ops que estão disponíveis em Python e como e onde usá-los.
O que você aprenderá:
- Assista aos Tutoriais de VÍDEO
- Classes e objetos
- Construtor em Python
- Herança
- Sobrecarga de método em Python
- Substituição de método em Python
- Ocultação de dados em Python
- Conclusão
- Leitura recomendada
Assista aos Tutoriais de VÍDEO
Vídeo nº 1: classe, objetos e construtor em Python
Vídeo 2: conceito de herança em Python
Vídeo nº 3: sobrecarga, substituição e ocultação de dados em Python
Classes e objetos
- Python é uma linguagem de programação orientada a objetos em que a programação enfatiza mais os objetos.
- Quase tudo em Python são objetos.
Aulas
Classe em Python é uma coleção de objetos, podemos pensar em uma classe como um projeto ou esboço ou protótipo. Ele contém todos os detalhes de um objeto.
No exemplo do mundo real, Animal é uma classe, porque temos diferentes tipos de Animais no mundo e todos eles pertencem a uma classe chamada Animal.
Definindo uma classe
Em Python, devemos definir uma classe usando a palavra-chave ‘classe’.
Sintaxe:
class classname: #Collection of statements or functions or classes
Exemplo:
class MyClass: a = 10 b = 20 def add(): sum = a+b print(sum)
No exemplo acima, declaramos a classe chamada ‘Myclass’ e declaramos e definimos algumas variáveis e funções respectivamente.
Para acessar essas funções ou variáveis presentes dentro da classe, podemos usar o nome da classe criando um objeto dela.
Primeiro, vamos ver como acessá-los usando o nome da classe.
Exemplo:
class MyClass: a = 10 b = 20 #Accessing variable present inside MyClass print(MyClass.a)
Resultado
10
Resultado:
Objetos
Um objeto geralmente é uma instância de uma classe. Ele é usado para acessar tudo o que está presente na classe.
Criação de um objeto
Sintaxe:
melhor aplicativo de download de mp3 para android
variablename = classname
Exemplo:
ob = MyClass()
Isso criará um novo objeto de instância denominado ‘ob’. Usando este nome de objeto podemos acessar todos os atributos presentes dentro da classe MyClass.
Exemplo:
class MyClass: a = 10 b = 20 def add(self): sum = self.a + self.b print(sum) #Creating an object of class MyClass ob = MyClass() #Accessing function and variables present inside MyClass using the object print(ob.a) print(ob.b) ob.add()
Resultado:
10
vinte
30
Resultado:
Construtor em Python
Construtor em Python é um método especial que é usado para inicializar os membros de uma classe durante o tempo de execução quando um objeto é criado.
Em Python, temos alguns métodos de classe internos especiais que começam com um sublinhado duplo (__) e têm um significado especial em Python.
O nome do construtor sempre será __init __ ().
Cada classe deve ter um construtor, mesmo se você não criar um construtor explicitamente, ele criará um construtor padrão por si só.
Exemplo:
class MyClass: sum = 0 def __init__ (self, a, b): self.sum = a+b def printSum(self): print(“Sum of a and b is: ”, self.sum) #Creating an object of class MyClass ob = MyClass(12, 15) ob.printSum()
Resultado:
A soma de aeb é: 27
Resultado:
Se observarmos no exemplo acima, não estamos chamando o método __init __ (), porque ele será chamado automaticamente quando criarmos um objeto para aquela classe e inicializarmos os membros de dados, se houver.
Lembre-se sempre de que um construtor nunca retornará nenhum valor, portanto, ele não contém nenhuma instrução de retorno.
Herança
Herança é um dos conceitos mais poderosos de OOPs.
Uma classe que herda as propriedades de outra classe é chamada de Herança.
A classe que herda as propriedades é chamada de classe / subclasse filha e a classe da qual as propriedades são herdadas é chamada de classe pai / classe base.
Python fornece três tipos de herança:
- Herança Única
- Herança multinível
- Herança Múltipla
Leitura Recomendada = >> Herança em Java
# 1) Herança única
Na herança única, uma classe herdará as propriedades de apenas uma classe.
Exemplo:
class Operations: a = 10 b = 20 def add(self): sum = self.a + self.b print(“Sum of a and b is: “, sum) class MyClass(Operations): c = 50 d = 10 def sub(self): sub = self.c – self.d print(“Subtraction of c and d is: ”, sub) ob = MyClass() ob.add() ob.sub()
Resultado:
A soma de aeb é: 30
A subtração de c e d é: 40
Resultado:
downloader de vídeo do youtube para pc download grátis
No exemplo acima, estamos herdando as propriedades da classe ‘Operations’ para a classe ‘MyClass’.
Portanto, podemos acessar todos os métodos ou instruções presentes na classe ‘Operações’ usando os objetos MyClass.
# 2) Herança multinível
Na herança multinível, uma ou mais classes atuam como uma classe base.
O que significa que a segunda classe herdará as propriedades da primeira classe e a terceira classe herdará as propriedades da segunda classe. Portanto, a segunda classe atuará tanto como classe pai quanto classe filha.
Exemplo:
class Addition: a = 10 b = 20 def add(self): sum = self.a + self.b print(“Sum of a and b is: ”, sum) class Subtraction(Addition): def sub(self): sub = self.b-self.a print(“Subtraction of a and b is: ”, sub) class Multiplication(Subtraction): def mul(self): multi = self.a * self.b print(“Multiplication of a and b is: ”, multi) ob = Multiplication () ob.add() ob.sub() ob.mul()
Resultado:
A soma de aeb é: 30
A subtração de a e b é: 10
A multiplicação de aeb é: 200
Resultado:
No exemplo acima, a classe ‘Subtraction’ herda as propriedades da classe ‘Addition’ e a classe ‘Multiplication’ herdará as propriedades da classe ‘Subtraction’. Assim, a classe ‘Subtração’ atuará tanto como classe base quanto como classe derivada.
# 3) Herança múltipla
A classe que herda as propriedades de várias classes é chamada de herança múltipla.
Leitura Adicional = >> O Java oferece suporte a herança múltipla?
Exemplo:
class Addition: a = 10 b = 20 def add(self): sum = self. a+ self.b print(“Sum of a and b is: “, sum) class Subtraction(): c = 50 d = 10 def sub(self): sub = self.c-self.d print(“Subtraction of c and d is: ”, sub) class Multiplication(Addition,Subtraction): def mul(self): multi = self.a * self.c print(“Multiplication of a and c is: ”, multi) ob = Multiplication () ob.add() ob.sub() ob.mul()
Resultado:
A soma de aeb é: 30
A subtração de c e d é: 10
A multiplicação de a e c é: 500
Resultado:
Sobrecarga de método em Python
Vários métodos com o mesmo nome, mas com um tipo diferente de parâmetro ou um número diferente de parâmetros são chamados de sobrecarga de método
Exemplo:
def product(a, b): p = a*b print(p) def product(a, b, c): p = a*b*c print(p) #Gives you an error saying one more argument is missing as it updated to the second function #product(2, 3) product(2, 3, 5)
Resultado:
30
Resultado:
Resultado:
A sobrecarga de método não é compatível com Python, porque se vermos no exemplo acima, definimos duas funções com o mesmo nome de ‘produto’, mas com um número diferente de parâmetros.
como lançar um arquivo .jar
Mas em Python, a última definição será atualizada, portanto, a função product (a, b) se tornará inútil.
Substituição de método em Python
Se um método de subclasse tem o mesmo nome que é declarado no método da superclasse então é chamado de Substituição de Método
Para obter a substituição de método, devemos usar herança.
Exemplo:
class A: def sayHi(): print(“I am in A”) class B(A): def sayHi(): print(“I am in B”) ob = B() ob.sayHi()
Resultado:
Estou em B
Resultado:
Ocultação de dados em Python
Ocultar dados significa tornar os dados privados de forma que não sejam acessíveis aos outros membros da classe. Ele pode ser acessado apenas na classe em que está declarado.
Em python, se quisermos ocultar a variável, precisamos escrever sublinhado duplo (__) antes do nome da variável.
Exemplo:
Class MyClass: __num = 10 def add(self, a): sum = self.__num + a print(sum) ob = MyClass() ob.add(20) print(ob.__num) #The above statement gives an error because we are trying to access private variable outside the class
Resultado:
30
Traceback (última chamada mais recente):
Arquivo “DataHiding.py”, linha 10, em
imprimir (devido .__)
AttributeError: a instância MyClass tem
nenhum atributo ‘__num
Resultado:
Conclusão
A classe é um blueprint ou template que contém todos os detalhes de um objeto, onde o objeto é uma instância de uma classe.
- Se quisermos obter as propriedades de outra classe em uma classe, isso pode ser obtido por herança.
- A herança é de 3 tipos - Herança única, Herança multinível e Herança múltipla.
- A sobrecarga de método não é compatível com Python.
- Substituição de método é usada para substituir a implementação da mesma função que é definida em outra classe.
- Podemos tornar os atributos de dados privados ou ocultá-los para que não sejam acessíveis fora da classe onde estão definidos.
Nosso próximo tutorial explicará mais sobre os conceitos adicionais do Python em detalhes !!
PREV Tutorial | PRÓXIMO Tutorial
Leitura recomendada
- Variáveis Python
- Tutorial Python DateTime com exemplos
- Funções de string Python
- Tutorial de Python para iniciantes (treinamento prático e gratuito em Python)
- Instruções de controle Python (Python Continue, Break and Pass)
- Operadores Python
- Funções Python
- Introdução ao Python e processo de instalação