Perguntas com a marcação «oop»

A programação orientada a objetos é um paradigma de programação usando "objetos": estruturas de dados que consistem em campos e métodos de dados, juntamente com suas interações.

10
Como evito a modificação de um campo privado em uma classe?
Imagine que eu tenho essa classe: public class Test { private String[] arr = new String[]{"1","2"}; public String[] getArr() { return arr; } } Agora, eu tenho outra classe que usa a classe acima: Test test = new Test(); test.getArr()[0] ="some value!"; //!!! Portanto, este é o problema: eu acessei …
165 java  arrays  oop  class 

11
O idioma pImpl é realmente usado na prática?
Estou lendo o livro "Excepcional C ++", de Herb Sutter, e nesse livro aprendi sobre o idioma pImpl. Basicamente, a idéia é criar uma estrutura para os privateobjetos de a classe alocá-los dinamicamente para diminuir o tempo de compilação (e também ocultar as implementações privadas de uma maneira melhor). Por …
165 c++  oop  pimpl-idiom 


8
Iterar sobre atributos de objeto em python
Eu tenho um objeto python com vários atributos e métodos. Eu quero iterar sobre os atributos do objeto. class my_python_obj(object): attr1='a' attr2='b' attr3='c' def method1(self, etc, etc): #Statements Quero gerar um dicionário que contenha todos os atributos dos objetos e seus valores atuais, mas quero fazê-lo de maneira dinâmica (se …



22
Orientação a objetos em C
O que seria um conjunto de hacks bacanas de pré-processador (compatíveis com ANSI C89 / ISO C90) que permitem algum tipo de orientação de objeto feia (mas utilizável) em C? Eu estou familiarizado com algumas linguagens orientadas a objetos diferentes, portanto, não responda com respostas como "Aprenda C ++!". Eu …
157 c  oop  object 

8
Como chamar um método pai da classe filho em javascript?
Passei as últimas duas horas tentando encontrar uma solução para o meu problema, mas parece sem esperança. Basicamente, preciso saber como chamar um método pai de uma classe filho. Todas as coisas que eu tentei até agora acabam não funcionando ou substituindo o método pai. Estou usando o seguinte código …



13
O que é delegado? [fechadas]
Fechado . Esta questão precisa ser mais focada . No momento, não está aceitando respostas. Deseja melhorar esta pergunta? Atualize a pergunta para que ela se concentre apenas em um problema editando esta postagem . Fechado há 6 anos . Melhore esta pergunta Estou confuso que qual é o papel …
152 oop  delegates 

18
Encadeamento de métodos - por que é uma boa prática ou não?
O encadeamento de métodos é a prática de métodos de objetos retornando o próprio objeto para que o resultado seja chamado para outro método. Como isso: participant.addSchedule(events[1]).addSchedule(events[2]).setStatus('attending').save() Isso parece ser considerado uma boa prática, pois produz código legível ou uma "interface fluente". No entanto, para mim, ao contrário, parece quebrar …

12
Herança x Agregação [fechado]
Atualmente, essa questão não se encaixa no nosso formato de perguntas e respostas. Esperamos que as respostas sejam apoiadas por fatos, referências ou conhecimentos, mas essa pergunta provavelmente solicitará debates, argumentos, pesquisas ou discussões prolongadas. Se você acha que essa pergunta pode ser melhorada e possivelmente reaberta, visite o centro …

14
O que significa 'baixo acoplamento e alto coesão'
Tenho problemas para entender a afirmação low in coupling and high in cohesion. Eu pesquisei e li muito sobre isso, mas ainda acho difícil de entender. Para o que eu entendo High cohesion, significa que devemos ter classes especializadas para desempenhar uma função específica. Espero que isso esteja correto? Como …
151 oop  ooad 

4
Substituir métodos de atributo ActiveRecord
Um exemplo do que estou falando: class Person < ActiveRecord::Base def name=(name) super(name.capitalize) end def name super().downcase # not sure why you'd do this; this is just an example end end Isso parece funcionar, mas acabei de ler a seção sobre substituição de métodos de atributo nos documentos ActiveRecord :: …

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.