In computer science, abstraction is a mechanism and practice to reduce and factor out details so that one can focus on a few concepts at a time.

PropertyValue
p:abstract
  • In computer science, abstraction is a mechanism and practice to reduce and factor out details so that one can focus on a few concepts at a time. The following English definition of abstraction helps to understand how this term applies to Computer Science, IT and Objects - i.e. abstraction is: A concept or idea not associated with any specific instance The concept is by analogy with abstraction in mathematics. The mathematical technique of abstraction begins with mathematical definitions; this has the fortunate effect of finessing some of the vexing philosophical issues of abstraction. For example, in both computing and in mathematics, numbers are concepts in the programming languages, as founded in mathematics. Implementation details depend on the hardware and software, but this is not a restriction because the computing concept of number is still based on the mathematical concept. Roughly speaking, abstraction can be either that of control or data. Control abstraction is the abstraction of actions while data abstraction is that of data structures (e.g. datatypes [vectors & pixels]. Control abstraction in the case of structured programming is the use of subprograms and formatted control flows to simulate desired concepts of surreal features or interactions in reality or abstract world. Data abstraction is to allow for handling data bits in meaningful manners. For example, it is the basic motivation behind datatype. Object-oriented programming can be seen as an attempt to abstract both data and code. (en)
  • Abstracción consiste en aislar un elemento de su contexto o del resto de los elementos que lo acompañan. En programación, el término se refiere al énfasis en el "¿qué hace?" más que en el "¿cómo lo hace?" (característica de caja negra). El común denominador en la evolución de los lenguajes de programación, desde los clásicos o imperativos hasta los orientados a objetos, ha sido el nivel de abstracción del que cada uno de ellos hace uso. Los lenguajes de programación son las herramientas mediante las cuales los diseñadores de lenguajes pueden implementar los modelos abstractos. La abstracción ofrecida por los lenguajes de programación se puede dividir en dos categorías: abstracción de datos (pertenecientes a los datos) y abstracción de control (perteneciente a las estructuras de control). Los diferentes paradigmas de programación han aumentado su nivel de abstracción, comenzando desde los lenguajes máquina, lo más próximo al ordenador y más lejano a la comprensión humana; pasando por los lenguajes de comandos, los imperativos, la orientación a objetos (OO), la Programación Orientada a Aspectos (POA); u otros paradigmas como la Programación declarativa, etc... La abstracción encarada desde el punto de vista de la programación orientada a objetos expresa las características esenciales de un objeto, las cuales distinguen al objeto de los demás. Además de distinguir entre los objetos provee límites conceptuales. Entonces se puede decir que la encapsulación separa las características esenciales de las no esenciales dentro de un objeto. Si un objeto tiene más características de las necesarias los mismos resultarán difíciles de usar, modificar, construir y comprender. La misma genera una ilusión de simplicidad dado a que minimiza la cantidad de características que definen a un objeto. Durante años, los programadores se han dedicado a construir aplicaciones muy parecidas que resolvían una y otra vez los mismos problemas. Para conseguir que los esfuerzos de los programadores puedan ser utilizados por otras personas se creó la POO. Que es una serie de normas de realizar las cosas de manera que otras personas puedan utilizarlas y adelantar su trabajo, de manera que consigamos que el código se pueda reutilizar. La POO no es difícil, pero es una manera especial de pensar, a veces subjetiva de quien la programa, de manera que la forma de hacer las cosas puede ser diferente según el programador. Aunque podamos hacer los programas de formas distintas, no todas ellas son correctas, lo difícil no es programar orientado a objetos sino programar bien. Programar bien es importante porque así nos podemos aprovechar de todas las ventajas de la POO (es)
  • En informatique, le concept d'abstraction est largement utilisé pour identifier et regrouper des caractéristiques et traitements communs applicable à des objets ou concepts variés; une représentation abstraite commune de tels objets permet d'en simplifier la manipulation. (fr)
  • L'astrazione in termini informatici è uno dei principi della programmazione ad oggetti. Essa dà luogo a varie tecniche definite di programmazione (strutturate, modulare, astrazione dati etc.). Definiamo l'astrazione informatica come un processo di aggregazione di informazioni e di sintesi di modelli concettuali (descrizione semplificata) che si sofferma su alcune proprietà rilevanti ed esclude dettagli inessenziali. La astrazione ha portato alla concretizzazione di un modello utilizzato per descrivere le funzionalità del software e per fare delle previsioni sul suo comportamento. (it)
  • 抽象化(ちゅうしょうか、英: Abstraction)とは、計算機科学において詳細を捨象し、一度に注目すべき概念を減らすことおよびその仕組みである。 この概念は数学における「抽象化」からのアナロジーである。数学での抽象化技法の起源は数学的定義である。例えば、コンピュータでも数学でも、数はプログラミング言語上の概念であり、数学上の概念でもある。数の計算概念は数学の概念に基づいているため、実装の詳細はハードウェアとソフトウェアに依存したとしても、それが制約とはならない。 大まかに言えば、抽象化は制御抽象化とデータ抽象化に分けられる。制御抽象化は動作の抽象化であり、データ抽象化はデータ構造の抽象化である。例えば、構造化プログラミングでの制御抽象化とは、サブプログラムや定式化された制御フローの使用を意味する。データ抽象化とは、本来ビット列であるデータを意味のある方法で扱うことを意味する。例えば、データ型の背景にある動機は抽象化である。オブジェクト指向プログラミングはデータとコードを同時に抽象化する試みと見ることもできる。 (ja)
  • Abstrakcją w programowaniu nazywamy pewnego rodzaju uproszczenie rozpatrywanego problemu, polegające na ograniczeniu zakresu cech manipulowanych obiektów wyłącznie do cech kluczowych dla algorytmu, a jednocześnie niezależnych od implementacji. W tym sensie abstrakcja jest odmianą formalizmu matematycznego. Cel stosowania abstrakcji jest dwojaki: ułatwienie rozwiązania problemu i zwiększenie jego ogólności. Języki programowania (w szczególności języki obiektowe) mogą oferować specjalne narzędzia do tworzenia pewnych typów abstrakcji, jednak pojęcie to nie zależy w żaden sposób od konkretnego języka. Każde uogólnienie problemu mające na celu wyizolowanie jego kluczowych aspektów jest abstrakcją. Dla przykładu, dany program komputerowy może przetwarzać różne zbiory obiektów, jednak wszystkie one mają wspólną cechę - w pewnych warunkach można je traktować jako listę o następujących operacjach: pierwszy, ostatni i następny oraz predykacie czy_ostatni. Dlatego dla potrzeb fragmentów zajmujących się przetwarzaniem list, wygodnie jest wprowadzić abstrakcję iteratora, który będzie udostępniał te właśnie operacje. W języku Java deklaracja interfejsu realizującego tę abstrakcję mogłaby wyglądać następująco: public interface IterListy { public void pierwszy; public void ostatni; public void następny; public boolean czy_ostatni; } // ... public void przetwarzaj_listę(IterListy iter_listy) { while (! iter_listy.czy_ostatni) { // zrób coś iter_listy.następny; } } Dla porównania, w języku Python żadna formalna deklaracja nie jest potrzebna, kod przetwarzający listy po prostu odwołuje się do odpowiednich metod obiektu: def przetwarzaj_listę(iter_listy): while not iter_listy.czy_ostatni: # zrób coś iter_listy.następny W rzeczywistości, w Pythonie abstrakcja iteratora jest wbudowana w język, wobec czego powyższy fragment można przepisać jako: def przetwarzaj_listę(lista): for obiekt in lista: # zrób coś Pętla for użyta w tym fragmencie doskonale ilustruje użyteczność abstrakcji - ponieważ całkowicie pomijamy jakiekolwiek charakterystyczne cechy przetwarzanych kolekcji obiektów, for może z równym powodzeniem obsługiwać każdą z nich, pod warunkiem jedynie że dany typ implementuje odpowiedni zbiór operacji. Dzięki temu for stosować można do list, słowników, krotek, zbiorów itd. Jednocześnie unikamy angażowania się w szczegóły implementacji nieistotne dla rozwiązywanego problemu, tj. przeglądania kolekcji obiektów. (pl)
  • Abstração é a habilidade de concentrar nos aspectos essenciais de um contexto qualquer, ignorando características menos importantes ou acidentais. Em modelagem orientada a objetos, uma classe é uma abstração de entidades existentes no domínio do sistema de software. Por exemplo, imaginamos a abstração referente a classe Animais. Há várias entidades na classe Animais como Anfíbios, Répteis e Mamíferos que são também sub-classes da classe Animais, onde há objetos que contêm cada sub-classe como ser-humano, Jacaré e outros. (pt)
  • Абстра́кция да́нных — подход к обработке данных по принципу чёрного ящика. Данные обрабатываются функцией высокого уровня с помощью вызова функций низкого уровня. Обычно такой подход используется в объектно-ориентированном программировании, что позволяет работать с объектами, не вдаваясь в особенности их реализации. Функция, позволяющая обратиться к скрытым данным объекта, называется функцией доступа или свойством. (ru)
p:hasPhotoCollection
p:reference
p:wikipage-es
p:wikipage-fr
p:wikipage-it
p:wikipage-ja
p:wikipage-pl
p:wikipage-pt
p:wikipage-ru
rdfs:comment
  • In computer science, abstraction is a mechanism and practice to reduce and factor out details so that one can focus on a few concepts at a time. (en)
  • Abstracción consiste en aislar un elemento de su contexto o del resto de los elementos que lo acompañan. En programación, el término se refiere al énfasis en el "¿qué hace?" más que en el "¿cómo lo hace?" (característica de caja negra). El común denominador en la evolución de los lenguajes de programación, desde los clásicos o imperativos hasta los orientados a objetos, ha sido el nivel de abstracción del que cada uno de ellos hace uso. (es)
  • En informatique, le concept d'abstraction est largement utilisé pour identifier et regrouper des caractéristiques et traitements communs applicable à des objets ou concepts variés; une représentation abstraite commune de tels objets permet d'en simplifier la manipulation. (fr)
  • L'astrazione in termini informatici è uno dei principi della programmazione ad oggetti. Essa dà luogo a varie tecniche definite di programmazione (strutturate, modulare, astrazione dati etc.). (it)
  • 抽象化(ちゅうしょうか、英: Abstraction)とは、計算機科学において詳細を捨象し、一度に注目すべき概念を減らすことおよびその仕組みである。 (ja)
  • Abstrakcją w programowaniu nazywamy pewnego rodzaju uproszczenie rozpatrywanego problemu, polegające na ograniczeniu zakresu cech manipulowanych obiektów wyłącznie do cech kluczowych dla algorytmu, a jednocześnie niezależnych od implementacji. W tym sensie abstrakcja jest odmianą formalizmu matematycznego. Cel stosowania abstrakcji jest dwojaki: ułatwienie rozwiązania problemu i zwiększenie jego ogólności. (pl)
  • Abstração é a habilidade de concentrar nos aspectos essenciais de um contexto qualquer, ignorando características menos importantes ou acidentais. Em modelagem orientada a objetos, uma classe é uma abstração de entidades existentes no domínio do sistema de software. (pt)
  • Абстра́кция да́нных — подход к обработке данных по принципу чёрного ящика. Данные обрабатываются функцией высокого уровня с помощью вызова функций низкого уровня. (ru)
rdfs:label
  • Abstraction (computer science) (en)
  • Abstracción (programación orientada a objetos) (es)
  • Abstraction (informatique) (fr)
  • Astrazione (informatica) (it)
  • 抽象化 (計算機科学) (ja)
  • Abstrakcja (programowanie) (pl)
  • Abstração (programação) (pt)
  • Абстракция данных (ru)
skos:subject
foaf:page
p:disambiguates
p:notableIdeas
p:redirect