Data Abstraction

According to the Merriam-Webster online dictionary, the word abstract is defined as “disassociated from any specific instance” or “expressing a quality apart from an object”, or “having only intrinsic form with little or no attempt at pictorial representation or narrative content”.

From these definitions, it can be possible to get an idea that to abstract an object implies something ethereal and nebulous, completely disjoint from a concrete instance of that object. In an idea reminiscent of Plato, the world can be separated into two things – the abstract idea and the concrete instance.

Understanding the concept of the abstract data type or ADT is easier knowing the definitions of abstraction. An ADT is a representation of a concrete instance. Computers can only process ones or zeros and can only store long ones and zeros.

However, in building programs a programmer might want to develop code that interacts or models real world objects or processes. ADTs are “invented” data types – data types that are modeled after the abstract idea of the concrete instance. An example is the string data type found in some programming languages.

A computer cannot store a string (only ones and zeros) yet programmers can do operations on a string like concatenation (using the + operator) effortlessly as if the computer or compiler understands that the user is working with sentences.

This brings to light an important concept when dealing with ADTs – the concept of information hiding. A compiler designer might engineer a programming language to handle strings in many ways. He may choose to use ASCII or EBCDIC, use 8 bits per character or a full 32 bit word, use little endian or big endian storage.

All these choices are invisible to the user. All the developer needs to understand is that to concatenate strings uses a “+” operator. Indeed, for an abstracted data type to be functional the functionality of that data type should reflect that what that ADT represents independent of the implementation.

The nitty gritty of its workings is hidden behind a wall called the interface. The interface (associated operations, properties, etc) is all that the programmer needs and should need to  know. A good wall is a prerequisite of good ADT design.

So far the paper has discussed about ADTs as data types that represent an idea (such as a string) that is not natively supported by the hardware. A developer might also make his or her own ADTs through the use of data structures.

A data structure is basically just an ordered way of organizing data. An example of a data structure is the struct in C, linked lists, and trees. A developer may choose to create one of these data structures in order to represent an abstract idea. He may choose to use a tree in order to represent a family tree.

In designing user created ADTs, the concept of information hiding should still be remembered. The ADT should provide a constant standard interface for every method or subroutine that chooses to call it. Additionally, it goes without saying that the data structure of choice should efficiently model the abstract idea it represents. Using a tree to represent genealogy is easier and makes more sense compared to using linked lists.

A soda vending machine, even though it is quite simple is a good illustration of the many aspects of ADT design. The developer might need to store the types of sodas the machine is selling. As there is no “soda” data type, the programmer might use strings. When the machine vends, the machine should also know that there is one less soda in its storage.

A programmer might then choose to implement the sodas as a stuct composed of one string (for the soda name) and an integer representing the number of soda cans left. When the customer presses a button corresponding to a soda, the soda name is displayed on the screen and the machine checks if there are still soda cans left.

If there are cans left, the vend process continues through with the customer getting his soda (after payment of course) and the integer counter for the soda is decremented by one. However if the counter is of value zero already, the machine halts the operation and tells the customer to pick another soda.

Bibliography

Carrano, Frank, and Janet Prichard. Data Abstraction and Problem Solving with C++ Walls and Mirrors. 3rd ed. Boston: Addison-Wesley, 2001.

Sedgewick, Robert. Algorithms in C. 3rd ed. Boston: Addison-Weslet, 1998.

Sun Developer Network [Website], java.sun.com

Writing Quality

Grammar mistakes

F (44%)

Synonyms

A (100%)

Redundant words

F (57%)

Originality

100%

Readability

F (53%)

Total mark

C

Calculate the price
Make an order in advance and get the best price
Pages (550 words)
$0.00
*Price with a welcome 15% discount applied.
Pro tip: If you want to save more money and pay the lowest price, you need to set a more extended deadline.
We know how difficult it is to be a student these days. That's why our prices are one of the most affordable on the market, and there are no hidden fees.

Instead, we offer bonuses, discounts, and free services to make your experience outstanding.
How it works
Receive a 100% original paper that will pass Turnitin from a top essay writing service
step 1
Upload your instructions
Fill out the order form and provide paper details. You can even attach screenshots or add additional instructions later. If something is not clear or missing, the writer will contact you for clarification.
Pro service tips
How to get the most out of your experience with MyStudyWriters
One writer throughout the entire course
If you like the writer, you can hire them again. Just copy & paste their ID on the order form ("Preferred Writer's ID" field). This way, your vocabulary will be uniform, and the writer will be aware of your needs.
The same paper from different writers
You can order essay or any other work from two different writers to choose the best one or give another version to a friend. This can be done through the add-on "Same paper from another writer."
Copy of sources used by the writer
Our college essay writers work with ScienceDirect and other databases. They can send you articles or materials used in PDF or through screenshots. Just tick the "Copy of sources" field on the order form.
Testimonials
See why 20k+ students have chosen us as their sole writing assistance provider
Check out the latest reviews and opinions submitted by real customers worldwide and make an informed decision.
History
Looks great and appreciate the help.
Customer 452675, April 26th, 2021
Business and administrative studies
Thank you for your hard work
Customer 452773, October 19th, 2023
Managerial Accounting & Legal Aspects of Business ACC/543
excellent work
Customer 452773, February 7th, 2024
Business and administrative studies
perfect
Customer 452773, February 23rd, 2023
English 101
great summery in terms of the time given. it lacks a bit of clarity but otherwise perfect.
Customer 452747, June 9th, 2021
Human Resources Management (HRM)
excellent
Customer 452773, July 11th, 2023
Management
Love this writer!!! Great work
Customer 452597, April 5th, 2021
business
Thank you for your hard work and help.
Customer 452773, February 13th, 2023
Nursing
Impressive writing
Customer 452547, February 6th, 2021
DATA565
The support team was late responding , my paper was late because the support team didn't respond in a timely manner. The writer of the paper finally got it right but seems there was a problem getting the revisioin to me.
Customer 452773, April 7th, 2024
Business and administrative studies
Excellent work ,always done early
Customer 452773, February 21st, 2023
10th grade English
very good
Customer 452773, March 26th, 2023
11,595
Customer reviews in total
96%
Current satisfaction rate
3 pages
Average paper length
37%
Customers referred by a friend
OUR GIFT TO YOU
15% OFF your first order
Use a coupon FIRST15 and enjoy expert help with any task at the most affordable price.
Claim my 15% OFF Order in Chat
Close

Sometimes it is hard to do all the work on your own

Let us help you get a good grade on your paper. Get professional help and free up your time for more important courses. Let us handle your;

  • Dissertations and Thesis
  • Essays
  • All Assignments

  • Research papers
  • Terms Papers
  • Online Classes
Live ChatWhatsApp