Limitations of Polymorphism in statically typed languages
I program mostly in statically typed languages, like C++ and Java. A common strategy employed in languages like these to handle dealing with collections of objects which are related, but which need to employ specific behaviors, is to use polymorphism and inheritance hierarchies. But Polymorphism only works when the Base class has a method (virtual function) which can then be overridden by every Derived class. But there are often cases where a Derived class needs to have a method, and it doesn’t make sense to place a method of the same name in the Base class, because it is very specific to the Derived class.
How to setup the c++ rule of three in a virtual base class
I am trying to create a pure virtual base class (or simulated pure virtual)
Alternatives to type casting in your domain
In my Domain I have an entity Activity
which has a list of ITask
s. Each implementation of this task has it’s own properties beside the implementation of ITask
itself. Now each operation of the Activity
entity (e.g. Execute()
) only needs to loop over this list and call an ITask method (e.g. ExecuteTask()
).
Java Dynamic Binding
I am having trouble understanding the OOP Polymorphic principl of Dynamic Binding ( Late Binding ) in Java. I looked for question pertaining to java, and wasn’t sure if a overall answer to how dynamic binding works would pertain to Java Dynamic Binding, I wrote this question.
Abstract Factory Method and Polymorphism
Being a PHP programmer for the last couple of years, I’m just starting to get into advanced programming styles and using polymorphic patterns. I was watching a video on polymorphism the other day, and the guy giving the lecture said that if at all possible, you should get rid of if
statements in your code, and that a switch is almost always a sign that polymorphism is needed. At this point I was quite inspired and immediately went off to try out these new concepts, so I decided to make a small caching module using a factory method. Of course the very first thing I have to do is create a switch to decide what file encoding to choose. DANG!
What does “polyadic” mean in the context of functional programming and type systems?
And how does it (or does not) correspond to “polymorphic”? Occasionally I see this notion like in: Implement and represent polyadic operations. I checked Wiktionary but it only gives a general meaning, not specific to functional programming.
Interface extension
Suppose that I have an input stream interface, which defines a method for reading data. I also have a seekable interface which defines a method for seeking. A natural way of defining a input file is then to implement both input stream and seekable.
Replacement for instanceof Java?
So I’m fairly new to programming in the real world (outside of academic projects) and have come across lots of posts saying that using instanceof
is a bad thing to use to determine what class a specific object is.
Design pattern for polymorphic behaviour while allowing library separation
Let’s say I have a hierarchy of Item
classes: Rectangle, Circle, Triangle
. I want to be able to draw them, so my first possibility is add a virtual Draw()
method to each:
Questions about Polymorphism
So I understand the importance of Polymorphism, including how vital it is. But something I don’t quite understand is what about the Constructor
and any inherited Class
the initial Base Class
may have.