Abstraction (computer science) (original) (raw)
L'abstracció és l'eina de gestió de la complexitat per a un sistema de computació. Consisteix a aïllar un element dels elements que l'acompanyen i/o el componen. Per exemple, quan en una capa del sistema es treballa amb nombres, no interessa posar atenció als detalls de la representació dels nombres (com per exemple la seva representació al maquinari en forma de bits), així que simplement s'abstrauen aquests detalls, amagant-los en capes inferiors, permetent treballar directament amb els nombres. En altres paraules, l'abstracció és el que permet oblidar-se dels detalls innecessaris a cada moment i centrar-se en el problema immediat.
Property | Value |
---|---|
dbo:abstract | L'abstracció és l'eina de gestió de la complexitat per a un sistema de computació. Consisteix a aïllar un element dels elements que l'acompanyen i/o el componen. Per exemple, quan en una capa del sistema es treballa amb nombres, no interessa posar atenció als detalls de la representació dels nombres (com per exemple la seva representació al maquinari en forma de bits), així que simplement s'abstrauen aquests detalls, amagant-los en capes inferiors, permetent treballar directament amb els nombres. En altres paraules, l'abstracció és el que permet oblidar-se dels detalls innecessaris a cada moment i centrar-se en el problema immediat. (ca) التجريد (بالإنجليزية: Abstraction) يطلق في علم الحاسوب على عملية تعريف البرامج أو البيانات من خلال إظهار واجهة منسجمة مع معنى وغاية هذا البرنامج ولكن يتم إخفاء التنفيذ الفعلي له. الغرض من هذا هو التخفيف من التعقيدات التي يجب على المبرمج التعامل معها، وبالتالي يكون بإمكانه التركيز على أمور أقل في الوقت الواحد. (ar) In software engineering and computer science, abstraction is: * The process of removing or generalizing physical, spatial, or temporal details or attributes in the study of objects or systems to focus attention on details of greater importance; it is similar in nature to the process of generalization; * the creation of abstract concept-objects by mirroring common features or attributes of various non-abstract objects or systems of study – the result of the process of abstraction. Abstraction, in general, is a fundamental concept in computer science and software development. The process of abstraction can also be referred to as modeling and is closely related to the concepts of theory and design. Models can also be considered types of abstractions per their generalization of aspects of reality. Abstraction in computer science is closely related to abstraction in mathematics due to their common focus on building abstractions as objects, but is also related to other notions of abstraction used in other fields such as art. 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; * 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; * the usage of S-expressions as an abstraction of data structures and programs in the Lisp programming language; * 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. (en) Der Begriff Abstraktion wird in der Informatik sehr häufig eingesetzt und beschreibt die Trennung zwischen Konzept und Umsetzung. Strukturen werden dabei über ihre Bedeutung definiert, während die detaillierten Informationen über die Funktionsweise verborgen bleiben. Abstraktion zielt darauf ab, die Details der Implementierung nicht zu berücksichtigen und daraus ein allgemeines Schema zur Lösung des Problems abzuleiten. Ein Computerprogramm kann so unterschiedliche Abstraktionsebenen aufweisen, wobei auf jeder Ebene ein anderer Grad des Informationsgehaltes dem Programmierer preisgegeben wird. Eine Abstraktion auf niedriger Stufe beinhaltet Details zur Hardware, auf der das Programm läuft. Höher liegende Abstraktionsebenen beschäftigen sich dagegen mit der Geschäftslogik der Software. Abstraktion beschäftigt sich also genau mit dem Detailgrad eines Objektes, der gerade im Kontext der aktuellen Perspektive benötigt wird, und kann auf die Daten sowie die Steuerung eines Programmes angewendet werden: * Die Abstraktion der Steuerung umfasst den Einsatz von Unterprogrammen und Konzepten wie Kontrollfluss. * Datenabstraktion erlaubt die sinnvolle Verarbeitung von Datenbits, zum Beispiel als Datentypen. Eine generelle Empfehlung, Abstraktion immer dann einzusetzen, wenn diese versucht, Duplikationen zu vermeiden, wird als Abstraktionsprinzip bezeichnet. Auch die Anforderung an Programmiersprachen, Mechanismen für diese Empfehlung zur Verfügung zu stellen, wird so genannt. (de) En informatique, le concept d'abstraction identifie et regroupe des caractéristiques et traitements communs applicables à des entités ou concepts variés ; une représentation abstraite commune de tels objets permet d'en simplifier et d'en unifier la manipulation. (fr) La 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. La abstracción también se puede entender como el método que se usa al momento de analizar un elemento particular, despreciando los aspectos no relevantes para el estudio específico, y considerando solo las propiedades esenciales para dicho análisis, facilitando con ello la mejor comprensión de dicho elemento y disminuyendo de esta manera el esfuerzo que se debe invertir en su comprensión. Los lenguajes de programación son las herramientas mediante las cuales los diseñadores de lenguajes pueden implementar los . 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 de 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 (POO), 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 sobre todo cuando es un método de número entero con terminación fraccionaria. La misma genera una ilusión de simplicidad dado 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 sus esfuerzos pudiesen ser utilizados por otras personas se creó la POO que consiste en una serie de normas para garantizar la interoperabilidad entre usuarios de manera que el código se pueda reutilizar. (es) Dalam ilmu komputer, abstraksi adalah proses representasi data dan program dalam bentuk sama dengan pengertiannya (semantik), dengan menyembunyikan rincian / detail . Abstraksi mencoba menyembunyikan detail agar programmer dapat berfokus pada konsep tertentu saja pada satu waktu. (in) L'astrazione, in informatica, è l'applicazione del metodo logico di astrazione nella strutturazione della descrizione dei sistemi informatici complessi, per facilitarne la progettazione e manutenzione o la stessa comprensione. (it) 抽象化(ちゅうしょうか、英: Abstraction)は、計算機科学において詳細を捨象し、一度に注目すべき概念を減らすことおよびその仕組みである。 この概念は数学における「抽象化」からのアナロジーである。数学での抽象化技法の起源は数学的定義である。例えば、コンピュータでも数学でも、数はプログラミング言語上の概念であり、数学上の概念でもある。数の計算概念は数学の概念に基づいているため、実装の詳細はハードウェアとソフトウェアに依存したとしても、それが制約とはならない。 大まかに言えば、抽象化は制御抽象化とデータ抽象化に分けられる。制御抽象化は動作の抽象化であり、データ抽象化はデータ構造の抽象化である。例えば、構造化プログラミングでの制御抽象化とは、サブプログラムや定式化された制御フローの使用を意味する。データ抽象化とは、本来ビット列であるデータを意味のある方法で扱うことを意味する。例えば、データ型の背景にある動機は抽象化である。オブジェクト指向プログラミングはデータとコードを同時に抽象化する試みと見ることもできる。 (ja) 컴퓨터 과학에서 추상화(abstraction)는 복잡한 자료, 모듈, 시스템 등으로부터 핵심적인 개념 또는 기능을 간추려 내는 것을 말한다. (ko) Abstrakcja – 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ą . 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 { void pierwszy; void ostatni; void następny; 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 pomijane są 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 unika się angażowania w szczegóły implementacji nieistotne dla rozwiązywanego problemu, tj. przeglądania kolekcji obiektów. (pl) Em ciência da computação, a abstração é a habilidade de concentrar nos aspectos essenciais de um contexto, ignorando características menos importantes ou acidentais. Em modelagem ou programação orientada a objetos, uma classe é uma abstração de entidades existentes no contexto de um software, como exemplo, imaginamos a abstração referente a classe Animais, que se divide em várias sub-classes, como: Anfíbios, Répteis e Mamíferos, que contém objetos de sub-classe como Ser-humano, Jacaré e outros. Uma classe abstrata é desenvolvida para representar entidades e conceitos abstratos. A classe abstrata é sempre uma superclasse que não possui instâncias. Ela define um modelo (template) para uma funcionalidade e fornece uma implementação incompleta - a parte genérica dessa funcionalidade - que é compartilhada por um grupo de classes derivadas. Cada uma das classes derivadas, completa a funcionalidade da classe abstrata adicionando um comportamento específico. (pt) В програмуванні, абстрагува́ння — спосіб та метод відокремлення деталей з метою отримання можливості зосередитись на найважливіших особливостях об'єкта. Грубо кажучи, в програмуванні, абстрагування може бути або керування, або даних. Абстрагування керування є абстрагуванням від деталей дій, а абстрагування даних є абстрагуванням структур даних. Наприклад, абстрагування керування в структурному програмуванні полягає у використанні підпрограм та визначених керівних конструкцій. Абстрагування даних дозволяє обробляти одиниці даних у змістовний спосіб. Наприклад, абстрагування є основною мотивацією створення типів даних. Об'єктно-орієнтоване програмування може розглядатись як спроба абстрагувати як керування так і дані. (uk) 在计算机科學中,抽象化(英語:Abstraction)是將資料與程序,以它的語意來呈現出它的外觀,但是隱藏起它的實作細節。抽象化是用來減少程式的複雜度,使得程式設計師可以專注在處理少數重要的部份。一個電腦系統可以分割成幾個抽象層(Abstraction layer),使得程式設計師可以將它們分開處理。 (zh) Абстракция в информатике представляет собой технику управления сложностью систем. Наиболее значимые понятия: * Абстрактный тип данных * Абстракция функций В объектно-ориентированном программировании (ООП) термин «абстракция» используется как сокращение от «абстракция данных», но не следует путать последнее с абстрактным типом данных — в ООП под этим понимается наследование классов. (ru) |
dbo:thumbnail | wiki-commons:Special:FilePath/Data_abstraction_levels.png?width=300 |
dbo:wikiPageExternalLink | http://jeffreypalermo.com/blog/the-onion-architecture-part-1/%7Cwork=Jeffrey http://www.cs.cornell.edu/courses/cs211/2006sp/Lectures/L08-abstraction/08_abstraction.html http://www.joelonsoftware.com/articles/LeakyAbstractions.html%7Cwork=Joel http://mitpress.mit.edu/sicp/full-text/book/book-Z-H-10.html%7Caccess-date=22 https://sites.google.com/site/simulationarchitecture/ https://web.archive.org/web/20090226050622/http:/mitpress.mit.edu/sicp/full-text/book/book-Z-H-10.html%7Carchive-date=26 |
dbo:wikiPageID | 60491 (xsd:integer) |
dbo:wikiPageLength | 34023 (xsd:nonNegativeInteger) |
dbo:wikiPageRevisionID | 1123153461 (xsd:integer) |
dbo:wikiPageWikiLink | dbr:Casting_out_nines dbr:Python_(programming_language) dbr:Scala_(programming_language) dbr:Scheme_(programming_language) dbr:List_of_abstractions_(computer_science) dbr:Meta-analysis dbr:Third-generation_programming_language dbr:Binary_search_tree dbr:Delegation_(object-oriented_programming) dbr:Algorithm dbr:Aphorism dbr:View_(database) dbr:Design dbr:Lambda_abstraction dbr:Usability dbr:Common_Lisp dbr:Run_time_(program_lifecycle_phase) dbr:Generalization dbr:Generic_programming dbr:Object-oriented_analysis_and_design dbr:Object-oriented_programming dbr:Object_(computer_science) dbr:Object_(philosophy) dbr:Second-generation_programming_language dbr:Class_(computer_programming) dbr:Clojure dbr:Free_variables_and_bound_variables dbr:Model_checking dbr:Modular_arithmetic dbr:Concept dbr:Conceptual_model dbr:Control_flow dbr:Theory dbr:Lisp_(programming_language) dbr:Boilerplate_code dbr:Subroutine dbr:Common_Lisp_Object_System dbr:Computation dbr:Computer_language dbr:Computer_program dbr:Computer_science dbr:Keyword_(computer_programming) dbr:Software_architecture dbr:Polymorphism_(computer_science) dbr:State_(computer_science) dbr:Syntax_(programming_languages) dbr:Software_engineering dbr:C++ dbr:C_(programming_language) dbr:Adjudication dbr:Data_modeling dbr:Data_structure dbr:Database_administrator dbr:Domain-specific_language dbr:Domain_analysis dbr:Leaky_abstraction dbr:Abstract_data_type dbr:Abstraction dbr:Abstraction_inversion dbr:Data_type dbr:Formal_semantics_of_programming_languages dbr:Pascal_(programming_language) dbr:Foreign_function_interface dbr:Formal_methods dbr:Unified_Modeling_Language dbr:Software_component dbr:Functional_programming_language dbr:S-expression dbr:Greenspun's_Tenth_Rule dbr:Procedure_(computer_science) dbr:Reality dbr:Systematic_review dbr:Hash_table dbr:Haskell_(programming_language) dbr:Higher-order_function dbr:Attribute_(computing) dbr:Java_(programming_language) dbr:Template_Haskell dbc:Data_management dbc:Object-oriented_programming dbr:Abstract_and_concrete dbr:Abstract_interpretation dbr:Abstraction_(art) dbr:Abstraction_(mathematics) dbr:Abstraction_principle_(computer_programming) dbc:Abstraction dbc:Articles_with_example_Java_code dbc:Computer_science dbr:Joel_Spolsky dbr:John_Guttag dbr:Lambda_calculus dbr:System dbr:Heuristic_(computer_science) dbr:Translator_(computing) dbr:Domain-specific_programming_language dbr:Business_process_modeling dbr:Software_design_pattern dbr:Software_development dbr:Encapsulation_(object-oriented_programming) dbr:MetaOCaml dbr:Method_overloading dbr:Inheritance_(computer_science) dbr:Inheritance_(object-oriented_programming) dbr:Integer_(computer_science) dbr:Metaprogramming dbr:OCaml dbr:Object_Pascal dbr:Self_(programming_language) dbr:Name_binding dbr:Macro_(computer_science) dbr:Model_of_computation dbr:Scripting_language dbr:Undecidable_problem dbr:Expression_(mathematics) dbr:Programming_language dbr:First-generation_programming_language dbr:Object-oriented_programming_language dbr:Systems_design dbr:Rice's_theorem dbr:Lisp_programming_language dbr:Class_(computer_science) dbr:Link-time dbr:List_(computing) dbr:Software_modeling dbr:Polymorphism_in_object-oriented_programming dbr:Physical_data_independence dbr:Program_refinement dbr:Software_artifact dbr:Cognitive_dimensions dbr:Compile-time dbr:Modeling_languages dbr:Module_(programming) dbr:Loadtime dbr:Bracket_abstraction dbr:Configuration_in_object-oriented_programming dbr:File:Data_abstraction_levels.png dbr:Legacy_analysis dbr:Type_in_object-oriented_programming |
dbp:quote | The essence of abstraction is preserving information that is relevant in a given context, and forgetting information that is irrelevant in that context. (en) |
dbp:source | – John V. Guttag (en) |
dbp:width | 25.0 |
dbp:wikiPageUsesTemplate | dbt:Cite_book dbt:Cite_journal dbt:Cite_web dbt:Main dbt:Quote_box dbt:Refbegin dbt:Refend dbt:Reflist dbt:Samp dbt:Short_description dbt:Use_dmy_dates |
dcterms:subject | dbc:Data_management dbc:Object-oriented_programming dbc:Abstraction dbc:Articles_with_example_Java_code dbc:Computer_science |
gold:hypernym | dbr:Technique |
rdf:type | dbo:TopicalConcept yago:Abstraction100002137 yago:GrammaticalRelation113796779 yago:Inflection113803782 yago:LinguisticRelation113797142 yago:Paradigm113804375 yago:Relation100031921 dbo:MusicGenre yago:WikicatProgrammingParadigms |
rdfs:comment | L'abstracció és l'eina de gestió de la complexitat per a un sistema de computació. Consisteix a aïllar un element dels elements que l'acompanyen i/o el componen. Per exemple, quan en una capa del sistema es treballa amb nombres, no interessa posar atenció als detalls de la representació dels nombres (com per exemple la seva representació al maquinari en forma de bits), així que simplement s'abstrauen aquests detalls, amagant-los en capes inferiors, permetent treballar directament amb els nombres. En altres paraules, l'abstracció és el que permet oblidar-se dels detalls innecessaris a cada moment i centrar-se en el problema immediat. (ca) التجريد (بالإنجليزية: Abstraction) يطلق في علم الحاسوب على عملية تعريف البرامج أو البيانات من خلال إظهار واجهة منسجمة مع معنى وغاية هذا البرنامج ولكن يتم إخفاء التنفيذ الفعلي له. الغرض من هذا هو التخفيف من التعقيدات التي يجب على المبرمج التعامل معها، وبالتالي يكون بإمكانه التركيز على أمور أقل في الوقت الواحد. (ar) En informatique, le concept d'abstraction identifie et regroupe des caractéristiques et traitements communs applicables à des entités ou concepts variés ; une représentation abstraite commune de tels objets permet d'en simplifier et d'en unifier la manipulation. (fr) Dalam ilmu komputer, abstraksi adalah proses representasi data dan program dalam bentuk sama dengan pengertiannya (semantik), dengan menyembunyikan rincian / detail . Abstraksi mencoba menyembunyikan detail agar programmer dapat berfokus pada konsep tertentu saja pada satu waktu. (in) L'astrazione, in informatica, è l'applicazione del metodo logico di astrazione nella strutturazione della descrizione dei sistemi informatici complessi, per facilitarne la progettazione e manutenzione o la stessa comprensione. (it) 抽象化(ちゅうしょうか、英: Abstraction)は、計算機科学において詳細を捨象し、一度に注目すべき概念を減らすことおよびその仕組みである。 この概念は数学における「抽象化」からのアナロジーである。数学での抽象化技法の起源は数学的定義である。例えば、コンピュータでも数学でも、数はプログラミング言語上の概念であり、数学上の概念でもある。数の計算概念は数学の概念に基づいているため、実装の詳細はハードウェアとソフトウェアに依存したとしても、それが制約とはならない。 大まかに言えば、抽象化は制御抽象化とデータ抽象化に分けられる。制御抽象化は動作の抽象化であり、データ抽象化はデータ構造の抽象化である。例えば、構造化プログラミングでの制御抽象化とは、サブプログラムや定式化された制御フローの使用を意味する。データ抽象化とは、本来ビット列であるデータを意味のある方法で扱うことを意味する。例えば、データ型の背景にある動機は抽象化である。オブジェクト指向プログラミングはデータとコードを同時に抽象化する試みと見ることもできる。 (ja) 컴퓨터 과학에서 추상화(abstraction)는 복잡한 자료, 모듈, 시스템 등으로부터 핵심적인 개념 또는 기능을 간추려 내는 것을 말한다. (ko) В програмуванні, абстрагува́ння — спосіб та метод відокремлення деталей з метою отримання можливості зосередитись на найважливіших особливостях об'єкта. Грубо кажучи, в програмуванні, абстрагування може бути або керування, або даних. Абстрагування керування є абстрагуванням від деталей дій, а абстрагування даних є абстрагуванням структур даних. Наприклад, абстрагування керування в структурному програмуванні полягає у використанні підпрограм та визначених керівних конструкцій. Абстрагування даних дозволяє обробляти одиниці даних у змістовний спосіб. Наприклад, абстрагування є основною мотивацією створення типів даних. Об'єктно-орієнтоване програмування може розглядатись як спроба абстрагувати як керування так і дані. (uk) 在计算机科學中,抽象化(英語:Abstraction)是將資料與程序,以它的語意來呈現出它的外觀,但是隱藏起它的實作細節。抽象化是用來減少程式的複雜度,使得程式設計師可以專注在處理少數重要的部份。一個電腦系統可以分割成幾個抽象層(Abstraction layer),使得程式設計師可以將它們分開處理。 (zh) Абстракция в информатике представляет собой технику управления сложностью систем. Наиболее значимые понятия: * Абстрактный тип данных * Абстракция функций В объектно-ориентированном программировании (ООП) термин «абстракция» используется как сокращение от «абстракция данных», но не следует путать последнее с абстрактным типом данных — в ООП под этим понимается наследование классов. (ru) In software engineering and computer science, abstraction is: * The process of removing or generalizing physical, spatial, or temporal details or attributes in the study of objects or systems to focus attention on details of greater importance; it is similar in nature to the process of generalization; * the creation of abstract concept-objects by mirroring common features or attributes of various non-abstract objects or systems of study – the result of the process of abstraction. (en) Der Begriff Abstraktion wird in der Informatik sehr häufig eingesetzt und beschreibt die Trennung zwischen Konzept und Umsetzung. Strukturen werden dabei über ihre Bedeutung definiert, während die detaillierten Informationen über die Funktionsweise verborgen bleiben. Abstraktion zielt darauf ab, die Details der Implementierung nicht zu berücksichtigen und daraus ein allgemeines Schema zur Lösung des Problems abzuleiten. Ein Computerprogramm kann so unterschiedliche Abstraktionsebenen aufweisen, wobei auf jeder Ebene ein anderer Grad des Informationsgehaltes dem Programmierer preisgegeben wird. Eine Abstraktion auf niedriger Stufe beinhaltet Details zur Hardware, auf der das Programm läuft. Höher liegende Abstraktionsebenen beschäftigen sich dagegen mit der Geschäftslogik der Software. (de) La 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. La misma genera una ilusión de simplicidad dado que minimiza la cantidad de características que definen a un objeto. (es) Em ciência da computação, a abstração é a habilidade de concentrar nos aspectos essenciais de um contexto, ignorando características menos importantes ou acidentais. Em modelagem ou programação orientada a objetos, uma classe é uma abstração de entidades existentes no contexto de um software, como exemplo, imaginamos a abstração referente a classe Animais, que se divide em várias sub-classes, como: Anfíbios, Répteis e Mamíferos, que contém objetos de sub-classe como Ser-humano, Jacaré e outros. (pt) Abstrakcja – 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ą . Cel stosowania abstrakcji jest dwojaki: ułatwienie rozwiązania problemu i zwiększenie jego ogólności. 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ę(lista): for obiekt in lista: # zrób coś (pl) |
rdfs:label | تجريد (حاسوب) (ar) Abstracció (informàtica) (ca) Abstraktion (Informatik) (de) Abstraction (computer science) (en) Abstracción (informática) (es) Abstraksi (ilmu komputer) (in) Astrazione (informatica) (it) Abstraction (informatique) (fr) 추상화 (컴퓨터 과학) (ko) 抽象化 (計算機科学) (ja) Abstração (ciência da computação) (pt) Abstrakcja (programowanie) (pl) Абстракция (информатика) (ru) Абстрагування (програмування) (uk) 抽象化 (計算機科學) (zh) |
owl:sameAs | freebase:Abstraction (computer science) wikidata:Abstraction (computer science) dbpedia-af:Abstraction (computer science) dbpedia-ar:Abstraction (computer science) dbpedia-bg:Abstraction (computer science) http://bn.dbpedia.org/resource/বিমূর্তন_(কম্পিউটার_বিজ্ঞান) http://bs.dbpedia.org/resource/Apstrakcija_(računarstvo) dbpedia-ca:Abstraction (computer science) http://ckb.dbpedia.org/resource/مەعنەویکردن_(زانستی_کۆمپیوتەر) dbpedia-da:Abstraction (computer science) dbpedia-de:Abstraction (computer science) dbpedia-es:Abstraction (computer science) dbpedia-fa:Abstraction (computer science) dbpedia-fr:Abstraction (computer science) dbpedia-he:Abstraction (computer science) dbpedia-id:Abstraction (computer science) dbpedia-it:Abstraction (computer science) dbpedia-ja:Abstraction (computer science) dbpedia-ko:Abstraction (computer science) dbpedia-ms:Abstraction (computer science) dbpedia-pl:Abstraction (computer science) dbpedia-pt:Abstraction (computer science) dbpedia-ru:Abstraction (computer science) dbpedia-sh:Abstraction (computer science) dbpedia-sr:Abstraction (computer science) dbpedia-tr:Abstraction (computer science) dbpedia-uk:Abstraction (computer science) dbpedia-vi:Abstraction (computer science) dbpedia-zh:Abstraction (computer science) https://global.dbpedia.org/id/27qA6 |
prov:wasDerivedFrom | wikipedia-en:Abstraction_(computer_science)?oldid=1123153461&ns=0 |
foaf:depiction | wiki-commons:Special:FilePath/Data_abstraction_levels.png |
foaf:isPrimaryTopicOf | wikipedia-en:Abstraction_(computer_science) |
is dbo:genre of | dbr:GVfs dbr:GnomeVFS |
is dbo:notableIdea of | dbr:Luciano_Floridi |
is dbo:wikiPageDisambiguates of | dbr:Abstraction_(disambiguation) |
is dbo:wikiPageRedirects of | dbr:Abstraction_in_object-oriented_programming dbr:Abstraction_(software_engineering) dbr:Abstraction_(computing) dbr:Data_abstraction dbr:Abstraction_(computer_programming) dbr:Abstraction_(programming) dbr:Abstraction_(software) dbr:Control_abstraction |
is dbo:wikiPageWikiLink of | dbr:Programming_in_the_large_and_programming_in_the_small dbr:Property_list dbr:Encapsulation_(networking) dbr:On_the_Cruelty_of_Really_Teaching_Computer_Science dbr:Bit_manipulation dbr:Blend4Web dbr:Bridge_pattern dbr:Desktop_Management_Interface dbr:Allocator_(C++) dbr:Joseph_Goguen dbr:Verilog dbr:Defunctionalization dbr:Device_driver dbr:Index_of_object-oriented_programming_articles dbr:Index_of_software_engineering_articles dbr:Intentional_programming dbr:Interpreter_(computing) dbr:Comparison_of_C_Sharp_and_Java dbr:Concurrent_ML dbr:MediaWiki dbr:S-algol dbr:Object-oriented_modeling dbr:Object-oriented_programming dbr:Opaque_binary_blob dbr:Source-to-source_compiler dbr:Ehud_Shapiro dbr:Function_(mathematics) dbr:Function_overloading dbr:GDAL dbr:GNU_Autotools dbr:GNU_Libtool dbr:GVfs dbr:Game_engine dbr:Graph_database dbr:Continuation dbr:Control_table dbr:Convenience_function dbr:Copy-and-paste_programming dbr:Open–closed_principle dbr:Operating_system_abstraction_layer dbr:Apache_Spark dbr:Bauhaus_Project_(computing) dbr:Libffi dbr:Light_Table_(software) dbr:Low-level_programming_language dbr:Luciano_Floridi dbr:Mach_(kernel) dbr:Call_stack dbr:Smalltalk dbr:Standard_Template_Library dbr:Structure_and_Interpretation_of_Computer_Programs dbr:Client–server_model dbr:Cloud_computing dbr:Composition_filters dbr:Computer_data_storage dbr:Computer_file dbr:Computer_program dbr:Computer_programming dbr:Zlib dbr:Fundamental_theorem_of_software_engineering dbr:Hardware_abstraction dbr:Software_architecture dbr:Ogg_page dbr:Pointer_(computer_programming) dbr:Polling_(computer_science) dbr:Priority_queue dbr:Separation_of_mechanism_and_policy dbr:Static_program_analysis dbr:Style_sheet_(desktop_publishing) dbr:Symbolic_language_(programming) dbr:Transport_triggered_architecture dbr:Barbara_Liskov dbr:C++ dbr:Type_system dbr:Data_modeling dbr:WebGL dbr:Domain-specific_modeling dbr:Duck_test dbr:Leaky_abstraction dbr:Logic_simulation dbr:Abstract_data_type dbr:Abstract_structure dbr:Abstraction_in_object-oriented_programming dbr:Echo_(framework) dbr:Alphard_(programming_language) dbr:Event-driven_programming dbr:Abstraction_(disambiguation) dbr:Abstraction_(software_engineering) dbr:Paradiseo dbr:Formal_science dbr:Glossary_of_Unified_Modeling_Language_terms dbr:GnomeVFS dbr:Handle_(computing) dbr:History_of_computer_science dbr:Iteratee dbr:Transmission_Control_Protocol dbr:Record_(computer_science) dbr:Reference_(computer_science) dbr:Refinement_(computing) dbr:HAL_(software) dbr:JQuery dbr:Jakarta_Server_Pages dbr:Hypostatic_abstraction dbr:State_diagram dbr:Software_testing_tactics dbr:Assembly_language dbr:Abstract_machine dbr:Abstract_semantic_graph dbr:Abstraction_(computing) dbr:Abstraction_principle_(computer_programming) dbr:LANSA_(development_environment) dbr:Lambda_calculus dbr:Block_(data_storage) dbr:Code_refactoring dbr:Cognitive_dimensions_of_notations dbr:High-level_programming_language dbr:Wrapper_function dbr:Software_design dbr:Mantis_Bug_Tracker dbr:Software_framework dbr:Software_portability dbr:Software_testing dbr:Classifier_(UML) dbr:Data_abstraction dbr:I-number dbr:IUP_(software) dbr:Nervos_Network dbr:ROOT dbr:Sepandar_Kamvar dbr:XAudio2 dbr:System_call dbr:Magic_(programming) dbr:Media_Foundation dbr:Separation_of_concerns dbr:Scripting_language dbr:Semantics_(computer_science) dbr:Single-board_microcontroller dbr:Vienna_Development_Method dbr:View_(SQL) dbr:Exokernel dbr:Extensible_programming dbr:Factory_(object-oriented_programming) dbr:Imperative_programming dbr:List_of_software_architecture_styles_and_patterns dbr:Literature-based_discovery dbr:Programming_language dbr:Object-based_language dbr:Tracing_garbage_collection dbr:Event_(computing) dbr:Executable_UML dbr:Natural_computing dbr:Slot_machines_by_country dbr:Mouse_button dbr:Secure_by_default dbr:SoulPad dbr:Outline_of_computer_science dbr:Structure_and_Interpretation_of_Computer_Programs,_JavaScript_Edition dbr:Abstraction_(computer_programming) dbr:Abstraction_(programming) dbr:Abstraction_(software) dbr:Control_abstraction |
is dbp:notableIdeas of | dbr:Luciano_Floridi |
is foaf:primaryTopic of | wikipedia-en:Abstraction_(computer_science) |