polymorphism

Safe and polymorphic toEnum

I'd like to write a safe version of toEnum: safeToEnum :: (Enum t, Bounded t) => Int -> Maybe t A naive implementation: safeToEnum :: (Enum t, Bounded t) => Int -> Maybe t safeToEnum i = if (i >= fromEnum (minBound :: t)) && (i <= fromEnum (maxBound :: t)) then Just . toEnum $ i else Nothing main = do print $ (safeToEnu...

Why aren't Java's generics implicitly polymorphic?

I'm a bit confused about how Java generics handle inheritance / polymorphism. Assume the following hierarchy - Animal (Parent) Dog - Cat (Children) So suppose I have a method doSomething(List<Animal> animals). By all the rules of inheritance and polymorphism, I would assume that a List<Dog> is a List<Animal> and a List<Cat> is a List...

Why is the base class being called?

I'm new to c# so bare with me. But here's my situation. interface Icontainer{ string name(); } abstract class fuzzyContainer : Icontainer{ string name(){ return "Fuzzy Container"; } } class specialContainer: fuzzyContainer{ string name(){ return base.name() + " Special Container"; } } Icontainer cont = new SpecialCont...

Virtual class problem

What i think about virtual class is, if a derived class has a public base, let's say, class base, then a pointer to derived can be assigned to a variable of type pointer to base without use of any explicit type conversion. But what if, we are inside of base class then how can we call derived class's functions. I will give an example: cl...

Which casting technique is better for doing casting from upper class to lower class in C++

Hi all, i want to cast from upper class pointer to lower class i.e from the base class pointer to derived class pointer. Should i use "Dynamic_cast" or "reinterpret_cast"? please advice me ...

Is my method for avoiding dynamic_cast<> faster than dynamic_cast<> itself ?

Hi, I was answering a question a few minutes ago and it raised to me another one: In one of my projects, I do some network message parsing. The messages are in the form of: [1 byte message type][2 bytes payload length][x bytes payload] The format and content of the payload are determined by the message type. I have a class hierarchy...

Force calling the derived class implementation within a generic function in C#?

Ok so I'm currently working with a set of classes that I don't have control over in some pretty generic functions using these objects. Instead of writing literally tens of functions that essentially do the same thing for each class I decided to use a generic function instead. Now the classes I'm dealing with are a little weird in that t...

How to Elegantly convert switch+enum with polymorphism

I'm trying to replace simple enums with type classes.. that is, one class derived from a base for each type. So for example instead of: enum E_BASE { EB_ALPHA, EB_BRAVO }; E_BASE message = someMessage(); switch (message) { case EB_ALPHA: applyAlpha(); case EB_BRAVO: applyBravo(); } I want to do this: Base* message = someMessage...

Dynamic swappable Data Access Layer

I'm writing a data driven WPF client. The client will typically pull data from a WCF service, which queries a SQL db, but I'd like the option to pull the data directly from SQL or other arbitrary data sources. I've come up with this design and would like to hear your opinion on whether it is the best design. First, we have some data ob...

OOP design issue: Polymorphism

I'm trying to solve a design issue using inheritance based polymorphism and dynamic binding. I have an abstract superclass and two subclasses. The superclass contains common behaviour. SubClassA and SubClassB define some different methods: SubClassA defines a method performTransform(), but SubClassB does not. So the following example 1...

To Interface or Not?: Creating a polymorphic model relationship in Ruby on Rails dynamically..

Please bear with me for a moment as I try to explain exactly what I would like to achieve. In my Ruby on Rails application I have a model called Page. It represents a web page. I would like to enable the user to arbitrarily attach components to the page. Some examples of "components" would be Picture, PictureCollection, Video, VideoC...

Need help with map (c++, STL)

Hi folks! Actually I'm new to C++. I tried something out (actually the map container) but it doesn't work the way I assumed it will... Before posting my code, I will explain it shortly. I created 3 classes: ClassA ClassDerivedA ClassAnotherDerivedA The two last ones are derived from "ClassA". Further I created a map: map<stri...

How does polymorphism work in Python?

I'm new to Python... and coming from a mostly Java background, if that accounts for anything. I'm trying to understand polymorphism in Python. Maybe the problem is that I'm expecting the concepts I already know to project into Python. But I put together the following test code: class animal(object): "empty animal class" class dog(...

Is it ok to throw NotImplemented exception in virtual methods?

I have a base class for some plugin-style stuff, and there are some methods that are absolutely required to be implemented. I currently declare those in the base class as virtual, for example public virtual void Save { throw new NotImplementedException(); } and in the descendand I have a public override void Save() { //do s...

polymorphism, inheritance in c# - base class calling overridden method?

This code doesn't work, but hopefully you'll get what I'm trying to achieve here. I've got a Money class, which I've taken from http://www.noticeablydifferent.com/CodeSamples/Money.aspx, and extended it a little to include currency conversion. The implementation for the actual conversion rate could be different in each project, so I d...

polymorphism alternative for MySQL stored procedures

I'm porting some stored procedures from Informix to MySQL, but I have two stored procedures on Informix that have same name and different parameters. In MySQL, I can't create two SP with the same name, and also can't create a SP with default values in parameters. so, do someone out there know any hackery or black magic that may help me...

polymorphism and interfaces

if i have two classes x and y, both extend class w. and x implementing interface z. if i have methods doSomething(w object) and doSomething(x object), what would happen if i call doSomething(x)? edit: im implementing this on java, more specifically on android. im asking this because some classes which implement a specific interface most...

How to include a module in all of Rails project's ActiveRecord models?

Hi Stackies, I want to include this module in every ActiveRecord model in my Rails app, without dropping include NotificationResourceableTraits in each file. Is there a way? module NotificationResourceableTraits def self.included(base) base.has_many :notification_resources, :as => :notification_resourceable base.has_many :not...

Passing derived objects in a constructure

This is a bit of a convoluted question, hopefully I can make it clear. I am finding that this may not be possible, but am trying to see if anybody has a solution. I have four classes, two are core classes and two are those core classes extended: extUser Extends coreUser extSecurity Extends coreSecurity In the constructor for coreUse...

Java Polymorphism - Selecting correct method based on subtype

Hi Given the following Class and Service layer signatures: public class PersonActionRequest { PersonVO person // ... other fields } public class MyServiceLayerClass { public void requestAction(PersonActionRequest request) { PersonVO abstractPerson = request.getPerson(); // call appropriate executeAction met...