What is abstraction in programming?

preview_player
Показать описание
---------------------------
Really simple - abstraction is hiding stuff!
Рекомендации по теме
Комментарии
Автор

Correction: it doesn’t hide functionality; it hides implementation. Functionality is public, whereas implementation is private.

Retrosenescent
Автор

Jeez thank you so much. Clear and straight to the point.

kalibee
Автор

It helps me so much, thanks man...
think understand abstraction as all code/form to resolve a project that's hidden form the final user, who send the enter and get back a result for this. That part are called Abstration because it changes from each person who create a method to resolve the project...
Hope be right, and help someone...

CarlosRodrigoB
Автор

Saw 5 videos on this topic and this is the best explanation lol

JayJay-sgzl
Автор

very simple and easy to understand explanation thank you

kaansener
Автор

your way of explaining the stuff is very nice I will take some of your style and use in my coding channel if you don't mind

vamsisaivenkat
Автор

broooo you really cleared my mind thank you

georgeabuladze
Автор

Just a correction and modification of some concepts

Abstraction is not that concept of showing or providing only the important things and hiding all unnecessary or complex details from the user (the programmer), as everyone thinks

You kindly explained that Abstraction is to provide only what the user can get, in short, to provide only the Important points in the classes that will be instanciated using an Object, and this is unfortunately wrong....

And if it was actually in this sense, the name would have been Only-Important-members or Hidding Data and so on...

In short, your concept is part of the definition of Encapsulation and not Abstraction, and it is very close to the concept of inheritance more than Encapsulation

Linguistically:

Abstraction means intangible or imaginary or virtual or the opposite of Concrete which means tangible, real or active

Programmatically:

It specifically means the Class and the Interface (interface is not available in all programming languages). The important thing is the Class in itself.

And any Class in OOP is considered as a Template, Model, or Map of something in Reality. That thing may be real or imaginary, and as it may be tangible or intangible, it does not matter the Projection and how .... but it matters The Classes that will Ultimately Express an Entity, Component, or Object that we will deal with later....

So Abstraction in OOP will be like that:

Modeling the Real World. and No more than this Definition ..


There are also inactive, intangible, or Abstract Classes that we call them Class Model, and they are somewhat similar to the Interface.

This type has a directive of type Abstract and it does not accept instanciate with Objects, that is, it has no Objects to represent it (No Instances).

And her task is Only to make a Model or Template for her children's that inherited from and finally can share members from base Abstract Classe.

And this technique is also within the definition of the corner Abstraction

And my concept here is in modeling and not in the role of the abstract class (because its role in terms of providing only what the sons classes can share as members and this is a part from the corner of inheritance)

finally :

Abstract classes is an Abstract Model for a Concrete classes Where this concrete will be a Models for some objects in our Real World...

Interfaces are also a Model or Abstract that Classes use them in-order to benefit from those members in that Interface..

So, Abstraction OOP is only about these three things in C Sharp, Java and Delphi and maybe C++ builder(because all of them have Interface as far as I know now)

As for the definition that you explained in the video, it is related to Encapsulation and Inheritance rules and not Abstraction at All ..

Abstraction is the first Step Rule of OOP Pillars wich is the Classes and Interfaces ...
Abstraction is not more than a Modelling ...

And thank you for your understanding ...

MBen_Delphi
Автор

what would be the difference between abstraction and encapsulation? seems both are intending to hide the actual implementation

chenyangwang
Автор

The future of Binance: an exclusive interview with the CEO

Donald__
Автор

abstract class can't create object but video example create a phone object please explain ?

isharamadusankadesilva
Автор

Man it's too tough to hide it
ima do it




I WAS NEVER A GOOD PROGRAMMER IN THE FIRST PLACE

phew
that felt nice

TheShafted
Автор

This is a way of seeing the world. Use abstractions irl!

radiousis
Автор

so Abstraction is a blackbox, where you apply input and get output without caring about what’s inside!

abbasafridi
Автор

Why cant my teacher be this clear? Thanks!

adamloepker
Автор

but what is meaning for this sentence "object are python abstraction for data"...?

tejasmankar
Автор

Thank you for the clear example, I got sick of the car example.

tko
Автор

LOL no need to attack me like that, TWICE.

freshnuts
Автор

IMHO You told us about encapsulation.
I expected that you tell a story why in Java we call Interfaces an Abstract classes "ABSTRACTION"

rlukinn
Автор

So is abstraction the divide between Front-end development and Back-end?

angelogarcia