Articles of oop

abatido e upcast

Eu sou novo em C # (e OOP ). Quando eu tenho algum código como o seguinte: class Employee { // some code } class Manager : Employee { //some code } Pergunta 1 : Se eu tiver outro código que faça isso: Manager mgr = new Manager(); Employee emp = (Employee)mgr; Aqui o Employee […]

Herança ou composição: Confie em “is-a” e “has-a”?

Quando eu desenho classs e tenho que escolher entre inheritance e composição, eu costumo usar a regra geral: se o relacionamento é “é-um” – use inheritance, e se o relacionamento é “tem-um” – use composição. Está sempre certo? Obrigado.

Vários agregados / repositorys em uma transação

Eu tenho um sistema de pagamento como mostrado abaixo. O pagamento pode ser feito através de vários cupons de presente. Os cupons de presentes são emitidos juntamente com uma compra. O cliente pode fazer uso deste cupom de presente para compra futura. Quando um pagamento é feito por meio de cupom de presente, a coluna […]

Herança Diamante (C ++)

Eu sei que ter inheritance de diamantes é considerada uma prática ruim. No entanto, tenho dois casos em que sinto que a inheritance de diamantes pode se encheckboxr muito bem. Eu quero perguntar, você recomendaria que eu usasse a inheritance de diamantes nesses casos, ou há outro design que poderia ser melhor. Caso 1: desejo […]

Por que methods “privados” no object orientado?

Eu entendo que é um conceito muito básico no oops. Mas ainda não consigo entender minha cabeça. Eu entendi porque as variables ​​de membro são privadas, então o usuário de class não pode abusar dele configurando valores inválidos. Mas como isso pode se aplicar aos methods?

Qual é a melhor maneira de criar um array esparso em C ++?

Eu estou trabalhando em um projeto que requer a manipulação de matrizes enormes, especificamente sumtórios piramidais para um cálculo da cópula. Em suma, eu preciso manter um número relativamente pequeno de valores (geralmente um valor de 1 e, em casos raros, mais de 1) em um mar de zeros na matriz (array multidimensional). Uma matriz […]

Quando usar interfaces ou classs abstratas? Quando usar os dois?

Embora certas diretrizes indiquem que você deve usar uma interface quando deseja definir um contrato para uma class em que a inheritance não é clara ( IDomesticated ) e inheritance quando a class é uma extensão de outra ( Cat : Mammal , Snake : Reptile ), há casos em que (na minha opinião) essas […]

Classificação de lista de objects JavaScript por propriedade de object

Eu tenho que fazer isso: (desculpe não na linguagem de object de aprendizagem de syntax javascript-ainda :)) object = carro Atributos: velocidade máxima, marca …. agora eu quero classificar a lista desses carros em ordem de marca de alta velocidade … Como faço isso (observe que a solução deve ser somente javascript, nenhum php ou […]

‘Shadows’ vs. ‘Overrides’ no VB.NET

Qual é o significado das duas palavras-chave Shadows and Overrides ? O que eles fazem e para qual contexto é um ou outro preferível?

Como uma class pode ter um membro de seu próprio tipo, essa recursion infinita não é?

Digamos que eu defina uma class que tenha como membro uma variável do mesmo tipo que ela mesma. public class abc { private abc p; } Isso realmente funciona, para minha surpresa. Porque eu acho que não deveria: criando uma instância de abc , ele contém uma variável do tipo abc , que contém uma […]