diff --git "a/M\303\263dulo-Tkinter/hello_world.md" "b/M\303\263dulo-Tkinter/hello_world.md" index 4e99fe4..9388571 100644 --- "a/M\303\263dulo-Tkinter/hello_world.md" +++ "b/M\303\263dulo-Tkinter/hello_world.md" @@ -55,4 +55,4 @@ -Agora que ja temos uma base, podemos ir para o [proximo passo](/Módulo-Tkinter/atributos_padrao.md) e conhecer os atributos padrões do tkinter. \ No newline at end of file +Agora que ja temos uma base, podemos ir para o [proximo passo](/Módulo-Tkinter/widgets_tkinter.md) e conhecer os atributos padrões do tkinter. diff --git a/POO/class.md b/POO/class.md new file mode 100644 index 0000000..4677e49 --- /dev/null +++ b/POO/class.md @@ -0,0 +1,96 @@ +# Classes + +- ***Atributo x Método:*** + - ***Atributo:*** + + Podemos dizer de forma grosseira que o atributo de uma classe é uma variável de uma classe. + ```python3 + class Personagem: + mana = 200 + ``` + - ***Método:*** + + Podemos dizer de forma grosseira que o método de uma classe é uma função de uma classe. + ```python3 + class Personagem: + def andar(self) -> None: + pass + ``` + +- ***"self":*** + + O uso do "self" como primeiro parámetro de um método é convencional segundo a [PEP8](https://peps.python.org/pep-0008/). + O self é usado em classes para indicar que está referenciado alguma coisa do próprio objeto (sejam eles atributos ou métodos) - na verdade, o self é o próprio objeto em si. + ```python3 + class Personagem: + def __init__(self, name: str) -> None: + self.name = name + + def get_name(self) -> str: + return self.name + ``` + +- ***Métodos especias:*** + + - ***\_\_init__:*** + + É um método chamado toda vez q a classe é instanciada. + + ```python3 + class Personagem: + def __init__(self, name: str) -> None: + # método construtor: ele irá iniciar toda vez q a classe for chamada. + self.name = name + + ``` + + + - ***\_\_str__:*** + + Usado para retornar uma representação de string de um objeto. + - sem o método \_\_str__: + + ```python3 + class Personagem: + pass + ``` + ` + out: + ` + + ![not_str_method](/pictures/classes/not_str_method.png) + - com o método \_\_str__: + ```python3 + class Personagem: + def __str__(self) -> str: + return f"This is a class" + ``` + ` + out: + ` + + ![str_method](/pictures/classes/str_method.png) + +- ***Instanciando uma classe:*** + + Para instanciarmos uma classe, basta fazermos como qual uma variável. + ```python3 + class Personagem: + def __init__(self, name: str) -> None: + self.name = name + + def print_name(self) -> str: + print(self.name) + + ``` + ` + In: + ` + + ![instance_in](/pictures/classes/instance_in.png) + + ` + Out: + ` + + ![instance_out](/pictures/classes/instance_out.png) diff --git a/POO/pictures/classes/instance_in.png b/POO/pictures/classes/instance_in.png new file mode 100644 index 0000000..7cede32 Binary files /dev/null and b/POO/pictures/classes/instance_in.png differ diff --git a/POO/pictures/classes/instance_out.png b/POO/pictures/classes/instance_out.png new file mode 100644 index 0000000..ed832ee Binary files /dev/null and b/POO/pictures/classes/instance_out.png differ diff --git a/POO/pictures/classes/not_str_method.png b/POO/pictures/classes/not_str_method.png new file mode 100644 index 0000000..f509c3d Binary files /dev/null and b/POO/pictures/classes/not_str_method.png differ diff --git a/POO/pictures/classes/str_method.png b/POO/pictures/classes/str_method.png new file mode 100644 index 0000000..44bf4d0 Binary files /dev/null and b/POO/pictures/classes/str_method.png differ diff --git a/README.md b/README.md index 7949602..b41a3ac 100644 --- a/README.md +++ b/README.md @@ -17,8 +17,8 @@ ### 2. Instalação [Windows](/Instalação/Windows.md)
-[Linux](/Introdução/Linux.md)
-[MacOS](/Introdução/MacOS.md) +[Linux](/Instalação/Linux.md)
+[MacOS](/Instalação/MacOS.md) ### 3. Estrutura de dados em python @@ -123,4 +123,4 @@ - **Matheus Morata** - [Github](https://github.com/MatheusMorata)- [Twitter](https://twitter.com/M4theus_Morata) -

Made with 💜

\ No newline at end of file +

Made with 💜