Articles of inheritance

Interfaces fluidas y herencia en C #

Mostraré un problema con el ejemplo. Hay una clase base con una interfaz fluida: class FluentPerson { private string _FirstName = String.Empty; private string _LastName = String.Empty; public FluentPerson WithFirstName(string firstName) { _FirstName = firstName; return this; } public FluentPerson WithLastName(string lastName) { _LastName = lastName; return this; } public override string ToString() { return […]

C # exponer a la herencia de la interfaz COM

Digamos que tengo una clase BaseClass que implementa IBaseClass Luego tengo una clase de interfaz que hereda IBaseClass. Luego tengo una clase llamada clase que implementa IClass. Por ejemplo: [ComVisible(true), InterfaceType(ComInterfaceType.IsDual), Guid(“XXXXXXX”)] public interface IBaseClass { [PreserveSig] string GetA() } [ComVisible(true), InterfaceType(ComInterfaceType.IsDual), Guid(“XXXXXXX”)] public interface IClass : IBaseClass { [PreserveSig] string GetB() } [ComVisible(true), ClassInterface(ClassInterfaceType.None), […]

ASP.NET MVC 3: DefaultModelBinder con herencia / polymorphism

En primer lugar, perdón por la gran publicación (primero traté de investigar) y por la combinación de tecnologías en la misma pregunta (ASP.NET MVC 3, Ninject y MvcContrib). Estoy desarrollando un proyecto con ASP.NET MVC 3 para manejar algunas órdenes de clientes. En resumen: tengo algunos objetos heredados de y Order clase abstracta y necesito […]

¿Qué está * tan * mal con la herencia de clase de caso?

Mientras buscaba algo más, por mera coincidencia, tropecé con algunos comentarios sobre cómo es la herencia de la clase de caso diabólico. Había algo llamado ProductN , miserables y reyes, elfos y magos, y cómo se pierde algún tipo de propiedad muy deseable con la herencia de las clases de casos. Entonces, ¿qué tiene de […]

¿Cuándo debo usar interfaces en lugar de clases abstractas?

Me preguntaba cuándo debería usar interfaces. Pensemos en lo siguiente: public abstract class Vehicle { abstract float getSpeed(); } y: public interface IVehicle { float getSpeed(); } Puedo implementarlos fácilmente a ambos, tienen la misma funcionalidad … PERO también puedo agregar algunas variables a mi clase de vehículo, que probablemente deberían usarse en un vehículo […]

Definir miembros de campo privado y herencia en el patrón del módulo JAVASCRIPT

Puedo definir campos de miembros privados en un patrón de módulo usando el siguiente código var myClass = function(){ var private_field1,private_field_2; var private_func1 = function(){ //……. } //……… var myObj = { global_field1:2, global_field2:”something”, global_func: function(){//……} } return myObj; }; var obj = myClass(); Este método funciona bien, pero el problema con este problema es […]

¿Cómo ocultar una propiedad heredada en una clase sin modificar la clase heredada (clase base)?

Si tengo el siguiente ejemplo de código: public class ClassBase { public int ID { get; set; } public string Name { get; set; } } public class ClassA : ClassBase { public int JustNumber { get; set; } public ClassA() { this.ID = 0; this.Name = string.Empty; this.JustNumber = string.Empty; } } ¿Qué debo […]

Llamar al constructor de la clase base desde el constructor de la clase derivada

Tengo una pregunta: Digamos que originalmente tengo estas clases que no puedo cambiar (digamos porque están tomadas de una biblioteca que estoy usando): class Animal_ { public: Animal_(); int getIdA() { return idA; }; string getNameA() { return nameA; } private: string nameA; int idA; } class Farm { public : Farm() { sizeF=0; } […]

¿Por qué no puedo crear un constructor abstracto en una clase abstracta de C #?

Estoy creando una clase abstracta. Quiero que cada una de mis clases derivadas se vea obligada a implementar una firma específica de constructor. Como tal, hice lo que habría hecho si hubiera querido obligarlos a implementar un método, hice uno abstracto. public abstract class A { abstract A(int a, int b); } Sin embargo, recibo […]

Herencia de clase de caso Scala

Tengo una aplicación basada en Squeryl. Defino mis modelos como clases de casos, principalmente porque considero conveniente tener métodos de copia. Tengo dos modelos que están estrictamente relacionados. Los campos son los mismos, muchas operaciones son comunes y deben almacenarse en la misma tabla de DB. Pero hay un comportamiento que solo tiene sentido en […]