Mudanças entre as edições de "Oficina: Objetos Pythônicos"

De Garoa Hacker Clube
Ir para navegação Ir para pesquisar
(Criou página com '{| !style="text-align:right;"|Tempo<br>(minutos)!!Atividade |- |style="text-align:right; font-weight: bold;"|7||Learning through introspection: Everything is an object. Almost...')
 
Linha 16: Linha 16:
 
|style="text-align:right; font-weight: bold;"|12||Goose typing: Abstract Base Classes and virtual subclasses.
 
|style="text-align:right; font-weight: bold;"|12||Goose typing: Abstract Base Classes and virtual subclasses.
 
|-
 
|-
|style="text-align:right; font-weight: bold;"|30||BREAK
+
|style="text-align:right; font-weight: bold;"|30||INTERVALO
 
|-
 
|-
 
|style="text-align:right; font-weight: bold;"|5||Caveats when subclassing built-ins: "non-virtual" methods.
 
|style="text-align:right; font-weight: bold;"|5||Caveats when subclassing built-ins: "non-virtual" methods.

Edição das 08h06min de 7 de abril de 2019

Tempo
(minutos)
Atividade
7 Learning through introspection: Everything is an object. Almost.
7 Duck-typing a.k.a. extreme polymorphism.
15 Profitable polymorphism with the Python Data Model.
10 Encapsulation and data hiding the Python way.
15 Exercise 1: implementing a set type from bit arrays.
10 Inheritance within reason: a few heuristics.
12 Goose typing: Abstract Base Classes and virtual subclasses.
30 INTERVALO
5 Caveats when subclassing built-ins: "non-virtual" methods.
15 Exercise 2: fixing a broken dict subclass.
7 Data classes.
17 Class attributes: from simple values to properties and descriptors.
3 Unbound vs. bound methods: descriptors explain it all.
15 Exercise 3: refactoring a legacy class to leverage modern Python features.
7 Outstanding design (almost) without classes.
5 Wrapping up.