About Programation
From My Limbic Wiki
Central Principles in POO
Abstraction
- Abstraction is a process of hiding the implementation details from the user. Оnly the functionality will be provided to the user.
- Related to both encapsulation and data hiding
- My words:
- One abstract method = class abstract.
- This class can be extends by other classes
- The child classes will contain the extended methods of the abstract class, they can use them and the declaration of the abstract one
- The abstract method will be over-writed to have the possibility to write a different code for each child
Inheritance
- Extends: Multiple inheritance
- Using extends keyword, the child class inherits the methods of parent class.
Encapsulation
- Declare private variables
- Declare Setters and Getters to modify them
Polymorphism
- Process objects differently based on their data type.
- One method with multiple implementation
- This can be implemented by designing a generic interface, which provides generic methods for a certain class of action and there can be multiple classes, which provides the implementation of these generic methods.
- Ways to do it:
- Override: method of an extended class
- Compile Time: Multiple methods declaration with multiple parameters
- In polymorphism, the parent class has a declared method wich is not abstracted and not empty. There is a process inside, it is not only a declaration in a abstract class
Packages
- Prevent naming conflicts
- Control access
- Make searching/locating and usage of classes, interfaces, enumerations and annotations easier...
Interface
- Collection of abstract methods.
- A class implements an interface, thereby inheriting the abstract methods of the interface.
Architectures
Design Patterns
- MVC
- MVP
- MVVM
Paradigm
- REST
- Object
- Procedural