Questions tagged [object-oriented]
Questions about the principles of the object-oriented programming paradigm.
85
questions
4
votes
1
answer
53
views
Covariance and Contravariance: Conflict without a Cause
Here is the last paragraph at page 441 of the paper ‘Covariance and Contravariance: Conflict without a Cause’ by Giuseppe Castagna:
How is all this translated into object-oriented type systems? ...
0
votes
0
answers
19
views
Which design pattern should be used in this case?
I am trying to implement a toll management system. I have a use case where I have 3 passes- 1-day, 2-day and 7-day pass and there are 2 types of vehicles- 2-wheeler and 4-wheeler. Now, each ...
0
votes
1
answer
39
views
Which type can cause problems with encapsulation in Java?
Out of the following, which type can cause problems with encapsulation?
A. Int
B. Int[]
C. String
D. non of the above
I chose D and was incorrect. I am kind of confused what this questions is asking ...
0
votes
0
answers
22
views
Questions on a Python Creational Design Pattern
I came across a potential creational design pattern when programming in Python that I haven't seen before and I wanted to get some opinions on whether it is advisable to use this approach.
Problem: ...
0
votes
1
answer
74
views
Definition of static property of object in OOP
Grady Booch in Object-Oriented Analysis and Design with Applications says:
The state of an object encompasses all of the (usually static) properties of the object plus the current (usually dynamic) ...
-1
votes
1
answer
46
views
Can a data abstraction use a class as a field, parameter, or return type?
I think that everyone will agree that the following class achieves data abstraction (hiding of its internal representation):
...
0
votes
2
answers
192
views
Is programming an emulation of the real world?
Assume that we have a car in the real world, this car would be composed of atoms, and we can do operations on this car (for example: we can move the car or change its color, etc.).
And assume that we ...
0
votes
0
answers
18
views
How come code re-usability is a benefit of Bottom-Up software development?
Re-usability of code is one of the main benefits of the bottom-up approach
(Wikipedia)
I can't quite figure out how bottom-up approach enables code re-usability. I am aware that Object Oriented ...
1
vote
1
answer
129
views
Is object oriented programming considered to be a declarative programming approach?
Is object oriented programming considered to be a declarative programming approach?
On Wikipedia, it is said that OOP tries to extend the imperative programming paradigm to a somewhat declarative ...
0
votes
1
answer
25
views
Subclass specification
From http://web.mit.edu/6.031/www/fa19/classes/12-interfaces-enums/#implementing_generic_interfaces
"That means B is only a subtype of A if B’s specification is at least as strong as A’s ...
1
vote
0
answers
23
views
Unifying object oriented language
I'm not sure if this is off-topic but I was thinking about the following: many modern (object-oriented) programming languages are very similar at their core, i.e. they share language features like ...
-1
votes
1
answer
142
views
Blueprint for class and objects in Java
Good morning everybody.
I would like to know if there is a blueprint I could refer to when creating classes and objects in Java? For instance, I was told for classes. You start VARIABLES DECLARATIONS ...
-1
votes
1
answer
36
views
Java programming object terminology
Say there is a class called Person. Then in the following expression :
Person human = new Person()
Which is the "reference&...
0
votes
2
answers
60
views
Are objects appropriate for modeling the real world?
First of all, I know objects are not meant to model the real world, although they have been marketed as such and perhaps that was an intention at some point.
Here I say 'modeling the real world' in a ...
0
votes
0
answers
22
views
Object algebras without anonymous inner classes
In de Oliveira and Cook's Extensibility for the Masses uses Java for its code (it's not about stuff specific to that language though) and the ability to create anonymous inner classes is used ...
0
votes
2
answers
111
views
What subfields in computer sciences may one study without learning Object Oriented Programming?
What subfields in computer sciences may one study without learning Object Oriented Programming or is there some kind of degree in Computer Science without the OOP knowledge requirement?
Is there a ...
1
vote
1
answer
15
views
Method provided by component may need to be implemented, What does this mean?
I can't wrap my head around this statement:
One common drawback of using composition instead of inheritance is that methods being provided by individual components may have to be implemented in the ...
2
votes
0
answers
102
views
Is this possible: In OOP, private methods in a class form a F-coalgebra and public methods in a class form an F-algebra?
I recently found out that OOP classes turn out to be F-coalgebras:
https://www.semanticscholar.org/paper/Objects-and-Classes%2C-Co-Algebraically-Jacobs/c7c45abf7d99e0aef627fd5223023bf82e70dc71
The ...
53
votes
1
answer
11k
views
What is the earliest use of the "this" keyword in any programming language?
I understand the this (or self or Me) is used to refer to the current object, and that it is ...
0
votes
0
answers
27
views
data structures/ Classes for RNA & DNA
In bioinformatics they study biological data. I have seen codes dealing with DNA sequences. However, they are treated as string literal. I was wondering if there were data structures or classes in OOP ...
1
vote
1
answer
201
views
Usage of stacks and heaps in object-oriented programming. Reasons?
In object oriented programming heaps are used for to store the actual objects. Stacks are used for storing reference-variables to the objects.
What's the concrete reasons for choosing those two ...
1
vote
1
answer
70
views
What does valid method overriding mean?
In Types and Programming Languages by Pierce, from p257 to p258, about featherweight Java,
The predicate override(m, D, C→C0) judges whether a method
...
1
vote
2
answers
94
views
Which is a type of objects in mainstream OO languages: a class, an interface, an abstract class, a metaclass?
In Types and Programming Languages by Pierce, Section 18.6 Simple Classes in Chapter 18 Imperative Objects says:
We should emphasize that these classes are values, not types. Also we can,
if we ...
2
votes
1
answer
68
views
In what sense if any does java have multiple dispatch?
I'm trying to get my head around the difference between message passing (with which we are all familiar as by far the most common form of object orientation today) vs generic functions as implemented ...
4
votes
0
answers
79
views
Scopes vs objects -- would a language make sense that voids the difference?
So there's this adage that says "Objects are a poor man's closures", which can equally well be reversed, which I understand to mean that they are equivalently expressive.
What strikes me about the ...
0
votes
1
answer
77
views
Does the concept of subtype require dynamic method binding?
https://en.wikipedia.org/wiki/Subtyping says
In programming language theory, subtyping (also subtype polymorphism or inclusion polymorphism) is a form of type polymorphism in which a subtype is a ...
0
votes
1
answer
241
views
Why there aren't any famous programming languages that implement what Alan Kay considers to be "real OOP"? [closed]
Why there aren't any famous programming languages that implement what Alan Kay considers to be "real OOP"?
Is it because the "modern OOP" that exists in programming languages like C++ and C# and Java ...
1
vote
0
answers
533
views
Four Pillars of Object Oriented Programming
I'm researching object oriented programming and I've come across the term "four pillars of OOP" in a few places now.
I originally saw them listed as:
Abstraction
Encapsulation
Inheritance
...
2
votes
0
answers
37
views
Describing C3 in terms of predicates on types
What is the right way to describe the properties for a method resolution order that naturally lead you to the C3 linearization algorithm?
I'm trying to nail down desiderata for an MRO that are ...
2
votes
1
answer
145
views
Curry-howard isomorphism in object oriented programming languages
I want to get a better intuition for the curry howard isomorphism, and my intuition is mainly based on object oriented programming languages like JavaScript.
So as an example, I am going to formalize ...
-2
votes
2
answers
41
views
How to specify a robot go always right relative to itself from absolute perspective (north west east south)
I have a robot that has a start and goal position within a maze. Each point in the maze-grid is simply a Position object containing x and y. I need an algorithm that specifies the robot only moving to ...
2
votes
1
answer
138
views
How to implement polymorphism in a turing complete environment?
I'm currently programming in an unnamed turing complete language which has support for pointers, primitive data types, structures, closures, and garbage collection, among other things.
I'm trying to ...
1
vote
1
answer
374
views
Auto-generating a class hierarchy/inheritance tree from a data set of objects with properties
What is an algorithm that will take as an input a flat list of objects with a varying degree of overlapping properties:
...
9
votes
1
answer
2k
views
What is the origin of dot notation?
In object-oriented programming, dot notation is used when accessing the properties or methods of a class:
...
4
votes
0
answers
26
views
N-Dimensional method lookup: sender vs context
So, there is an idea about multi-dimensional behaviour selectors that goes like follows (based on paper by R.Hirschfeld and P.Costanza : "Context oriented programming"):
"selector": in 1D lookup we ...
0
votes
2
answers
3k
views
Is the implementation relation between an interface and a class an instantiation or inheritance relation, or neither?
In Python, we have metaclass and abstract class.
In Java and C#, we have interface and <...
6
votes
1
answer
793
views
Is it possible to implement dependent types by any object oriented language supporting inheritance and classes?
When I was reading Agda tutorial, I noticed resemblance between dependent type declarations and class definitions which I've been primarily used to work with. I'm not totally sure how much sense this ...
2
votes
1
answer
150
views
What's the difference between subtyping and inheritance?
In object-oriented programming, I have learned the concept of subtyping and inheritance.
I thought they're the same thing, in ...
2
votes
1
answer
66
views
Are synchronous message sends a subset of async. ones?
Imagine any object oriented PL based around the idea of message sends: some method basically performs something like this:
...
1
vote
1
answer
41
views
Was multiple inheritance ever implemented by adding redundant data members?
In discussions about why most languages which implement inheritance only implement single-inheritance, the question of the precise semantics of overlaps often comes up, and having redundant data ...
1
vote
0
answers
57
views
Explain static and dynamic binding without Overloading and Overriding?
few days ago I attended a interview, and the interviewer asked me a very common but strange question. Explain static and dynamic binding without using method overloading and method overriding ? I ...
7
votes
1
answer
2k
views
The C3 linearization algorithm for method resolution in multiple inheritance OO languages: Looking for a justification for some implementation detail
According to this description of Python's method resolution order (mro), a.k.a. C3 linearization, the algorithm can be described recursively as follows:
...
1
vote
2
answers
149
views
Are grandparent classes also parents?
Let's say I have three classes, Animal, Bird and Pigeon. If ...
5
votes
2
answers
670
views
What would "sum types with functions" look like in OOP?
It's fair to summarize classes in OOP as "product types with functions." However, couldn't there be something like "sum types with functions"? How would inheritance work with them?
I'm trying to ...
1
vote
0
answers
73
views
Principle of locality for object-key data pairs
It seems that if we only have object-key cache then we won't have spatial locality and only temporal locality. I use memcached in a python application and that has only object-key pairs and no ...
1
vote
0
answers
48
views
is-child-of, is-instance-of as intensional and extensional inheritance relation - is object-oriented modelling an great oversimplification?
I am trying to build knowledge base in OpenCog cognitive architecture (http://wiki.opencog.org/w/The_Open_Cognition_Project) and I see that OpenCog lacks usual means to express notions of object-...
2
votes
1
answer
24
views
how does an object find the reference to its instance variables
I'm trying to understand how instance variables for a given object are stored for easy access later on.
For some background, I understand that if you have a reference to an array it is very easy for ...
0
votes
1
answer
40
views
Term for members of a class that are not inherited
Is there an explicit term for a member of a class that is not inherited from any parent class?
...
11
votes
3
answers
1k
views
Automatic Downcasting by Inferring the Type
In java, you must explicitly cast in order to downcast a variable
...
2
votes
0
answers
57
views
An alternative to the object paradigm
I've been playing around with an alternative to the standard object-oriented paradigm for modeling data, and I would like to know if there is any research or already existing systems along the same ...