Commit 32f4688ab73b53430d7dd72cd6dcac4cc6c258c3

[pt_BR] Merged thiagoarrais's work

Commit diff

PortugueseBook/Model/Model.tex

 
11391139Once again, we recommend that you avoid the use of pool variables and pool dictionaries.
11401140
11411141%=========================================================
1142\section{Chapter summary}
1142\section{Resumo do capítulo}
11431143
1144The object model of \squeak is both simple and uniform.
1145Everything is an object, and pretty much everything happens by message sends.
1144O modelos de objetos do \squeak é ao mesmo tempo simples e uniforme.
1145Tudo é um objeto, e praticamente tudo acontece por envio de mensagens.
11461146
11471147\begin{itemize}
1148 \item Everything is an object.
1149 Primitive entities like integers are objects, but also classes are first-class objects.
1150
1151 \item Every object is an instance of a class.
1152 Classes define the structure of their instances via \emph{private} instance variables and the behaviour of their instances via \emph{public} methods. Each class is the unique instance of its metaclass. Class variables are private variables shared by the class and all the instances of the class.
1153 Classes cannot directly access instance variables of their instances, and instances cannot access instance variables of their class.
1154 Accessors must be defined if this is needed.
1155
1156 \item Every class has a superclass.
1157 The root of the single inheritance hierarchy is \lct{ProtoObject}.
1158 Classes you define, however, should normally inherit from \ct{Object} or its subclasses.
1159 There is no syntax for defining abstract classes.
1160 An abstract class is simply a class with an abstract method\,---\,one
1161 whose implementation consists of the expression \ct{self subclassResponsibility}.
1162 Although \squeak supports only single inheritance, it is easy to share implementations of methods by packaging them as \emph{traits}.
1163
1164 \item Everything happens by message sends.
1165 We do not ``call methods'', we ``send messages''.
1166 The receiver then chooses its own method for responding to the message.
1167
1168 \item Method lookup follows the inheritance chain;
1169 \self sends are dynamic and start the method lookup again in the class of the receiver, whereas
1170 \super sends are static, and start in the superclass of class in which the \super send is written.
1148 \item Tudo é um objeto.
1149 Primitivas como inteiros são objetos, mas classes também são objetos de primeira classe.
1150
1151 \item Todo objeto é instância de uma classe.
1152 Classes definem a estrutura de suas instâncias através de variáveis de instância \emph{privativas} e o comportamente de suas instâncias através de métodos \emph{públicos}. Cada classe é a instância única de sua meta-classe. Variáveis de classe são variáveis privativas compartilhadas pela classe e por todas as instâncias da classe.
1153 Classes não pode acessar variáveis de instância das suas instâncias diretamente e instâncias não podem acessar variáveis de instância da sua classe.
1154 Métodos de acesso devem ser definidos se forem necessários.
1155
1156 \item Toda classe tem uma superclasse.
1157 A raiz da hierarquia de herança simples é \lct{ProtoObject}.
1158 Classes definidas pelo programador, entretanto, normalmente devem herdar de \ct{Object} ou de suas subclasses.
1159 Não existe sintaxe para definir classes abstratas.
1160 Uma classe abstrata é simplesmente uma classe com um método abstrato\,---\, um
1161 método cuja implementação consiste da expressão \ct{self subclassResponsibility}.
1162 Apesar de \squeak suportar apenas herança simples, é fácil compartilhar implementações de métodos empacotando-os como \emph{traits}.
1163
1164 \item Tudo acontece por envio de mensagens.
1165 Nos não ``chamamos métodos'', nós ``enviamos mensagens''.
1166 O recipiente então escolhe por conta própria o método para responder à mensagem.
1167
1168 \item A busca de métodos segue a cadeia de herança;
1169 Envios para \self são dinâmicos e iniciam a busca de método na classe do recipiente, enquanto
1170 envios para \super são estáticos e iniciam na superclasse da classe na qual o envio para \super está escrito.
11711171
1172 \item There are three kinds of shared variables.
1173 Global variables are accessible everywhere in the system.
1174 Class variables are shared between a class, its subclasses and its instances.
1175 Pool variables are shared between a selected set of classes.
1176 You should avoid shared variables as much as possible.
1172 \item Há três tipos de variáveis compartilhadas.
1173 Variáveis globais podem ser acessadas de qualquer lugar do sistema.
1174 Variáveis de classe são compartilhadas entre a classe, suas subclasses e suas instâncias.
1175 Variáveis de pool são compartilhadas entre um grupo definido de classes.
1176 Você deve evitar o uso de variáveis compartilhadas tanto quanto possível.
11771177
11781178\end{itemize}
11791179
toggle raw diff