What is the correct term for an 'overridden' class attribute in a child class? - oop

While exploring basic Object Oriented Design principles I was wondering: What is the correct term for an 'overridden' class attribute in a child class?

I believe it's just that: an overridden property/attribute. I don't think it has a specific term.

Related

Dependency inversion principle application

According to Dependency Inversion Principle, a class should not interact with another directly, it should be done using abstraction. That being said, objects are made of type abstract class or interface and are referred to class implementing it. Now my question is if that is the case how can we use additional methods defined in child class? And if not, what is the point of having capability of defining additional methods in child class?
My question is if we try to follow above principle, then we can never use those additional methods. Or there is something that i am missing?
Please reply if this question is not understandable, i will add an example.

How to avoid duplicating a property in a nested class structure?

For example, I have the following class structure:
Animal
---Cat
------property: CatCollar (boolean)
---Dog
------BigDog
------TinyDog
---------property: CatCollar (boolean)
I have the same property CatCollar in class Cat and in class TinyDog, but this property should not be in the class BigDog. My reviewer tells me that this is a bad structure, as it leads to duplication. I cannot change the structure of classes, but I can only change this property (location and other manipulation). Maybe there are some OOP tools that allow you to do this? Can I somehow avoid duplicating a property? If so, how?
In object-orientation it doesn't matter what "data" (i.e. private state) each object has. It only matters what behavior they provide, even in an inheritance tree.
So, if by "property" you mean a public state, or a private state accessible through a public getter, you already left object-orientation to a certain degree. Discussing what is right from the perspective of oop is already moot.
If you mean that as a private state, with some potential behavior shared, then you might need delegation. That is, both Cat and TinyDog implementing some interface describing the desired behavior, then implementing it in some class that both delegate to (i.e. contain). Unfortunately this is not natively supported in Java (in Kotlin for example it is), so it needs some boilerplate.

Which OOP concept describes how a Class alters or customises behaviours inherited from a parent Class?

Am almost new to programming and i need your help to answer some multi-choice questions. Thanks
Which OOP concept describes how a Class alters or customises behaviours inherited from a parent Class? (Polymorphism or Inheritance)

Polimorphism vs inheritance

The process in which the newly created class uses elements of a more general class of already existing is inheritance, but is this also apply to the polymorphism?. I can't find in the internet an satisfying answer.
Inheritance is derived from the overall concept of polymorphism. Inheritance would be more specifically a type of Ad hoc polymorphism. The concept of an object oriented language in general is to allow features such as inheritance and abstraction. So inheritance allows the specialization of classes in say a hierarchical manner so then subclasses may inherit from a parent or more "general class", while Polymorphism allows you to use an object without knowing its exact type such as calling an inherited or virtual method and the language being able to get the correct method from many derivations or implementations of such method.
No, Polymorphism is where two or more classes that either implement the same interface or extend the same parent can be substituted for each other.
An example is how a List and a HashTable are both Collections and may be substituted for each other when the object is defined as the general type (Collection)

Provide an example to create class without getter and setter

I need an example to understand more clearly, How can I create a class with out getter and setter. So to implement a better design and adapt below mentioned principle:
Keeping code more object oriented and avoid procedural style coding
Reduce Law Of Demeter
Do not violate DRY principle
How to keep details of a class hidden from other classes
So that the calling class (client class) will not be created containing procedural methods which will make decision based on the state of my class.
I think Knowledge of access modifiers will help you to answer own questions. Please check.
http://www.codeproject.com/Articles/25078/C-Access-Modifiers-Quick-Reference