Difference between revisions of "Abstract"

esse quam videri
Jump to: navigation, search
(Definition)
(Explanation)
 
(2 intermediate revisions by the same user not shown)
Line 4: Line 4:
  
 
=Relevance=
 
=Relevance=
 +
* [[Abstract Class]]
 +
* [[Encapsulation]]
 +
* [[Inheritance]]
 +
* [[Object]]
  
 +
=Explanation=
 +
Through the process of abstraction, a programmer hides all but the relevant data about an object in order to reduce complexity and increase efficiency.
  
 +
Think about what information could be relevant to a situation where you're meeting a new person: there are several attributes to keep in mind, such as your what you're wearing, your name, your age, and your interests. But these aren't the only characteristics about you - there are other data and information not relevant to the context at hand, like your account login, or your social security number, or what you had for lunch yesterday.
  
=Explanation=
+
Although, since this information could be used in multiple contexts, you can use these abstractions in other situations in the future!
Abstractions may also refer to real-world objects and systems, rules of computational systems or rules of programming languages that carry or utilize features of abstraction itself, such as:
 
  
the usage of data types to perform data abstraction to separate usage from working representations of data structures within programs;[6]
+
This is the core of abstraction - keeping relevant information on hand to be used in specific situations, with other data abstracted out to be used in other ones.
the concept of procedures, functions, or subroutines which represent a specific of implementing control flow in programs;
 
the rules commonly named "abstraction" that generalize expressions using free and bound variables in the various versions of lambda calculus;[7][8]
 
the usage of S-expressions as an abstraction of data structures and programs in the Lisp programming language;[9]
 
the process of reorganizing common behavior from non-abstract classes into "abstract classes" using inheritance to abstract over sub-classes as seen in the object-oriented C++ and Java programming languages.
 
  
 
=External Links=
 
=External Links=

Latest revision as of 00:45, 10 August 2019

Definition

In computer science, abstraction refers to removing unnecessary attributes and data fro objects or systems in order to focus attention on crucial details. The process can be compared to generalizing something - the more broad and concise something is, the easier it is to understand its function! Abstraction is fundamental to object oriented programming along with Encapsulation and Inheritance.

Relevance

Explanation

Through the process of abstraction, a programmer hides all but the relevant data about an object in order to reduce complexity and increase efficiency.

Think about what information could be relevant to a situation where you're meeting a new person: there are several attributes to keep in mind, such as your what you're wearing, your name, your age, and your interests. But these aren't the only characteristics about you - there are other data and information not relevant to the context at hand, like your account login, or your social security number, or what you had for lunch yesterday.

Although, since this information could be used in multiple contexts, you can use these abstractions in other situations in the future!

This is the core of abstraction - keeping relevant information on hand to be used in specific situations, with other data abstracted out to be used in other ones.

External Links