Please take a look at the work I have done and get back to me.
Running Head: OBJECT-ORIENTED PROGRAMMING
Course title and number
Date of submission
The programming language has continued to evolve and make great impacts in relation to
the creation of programs. Object-oriented programming which was developed in the late 1950s
brought about changes as far as programming is concerned. Taking a look at the concept of the
programming language, it involves the concepts of objects containing data that are represented in
the field form also called attributes. Further, the code associated with Object-oriented
Programming is referred to as methods. Overall, a program is a logical procedure that will often
rely on data inputs where the program processes the data then returns the output data. Further,
programs will often depend on the computer memory to execute the program and as a result, the
research will explore the computer memory hierarchy in relation to inheritance, polymorphism,
and encapsulation (Dale, Joyce, & Weems, 2016). The research tries to analyze how computer
memory hierarchy plays a role as far as Object-Oriented Programming is concerned.
The creation of a program will often involve the use of memory, and it is important that
while creating a large array of objects. As a result, one component that tends to be beneficial is
the definition of classes that assist in the creation of large arrays of objects without
overwhelming computer memory. Computer memory can be referred to as the storage space in a
computer where data and instructions are stored and processed. In computer architecture,
computer memory is often categorized into memory hierarchy based on the response time,
complexity and capacity. This is because, computer memory will often impact the performance
of a computer architectural design, predictions of algorithms, as well as low-level programming
that involve locality of reference. The locality of reference refers to a situation where a processor
accesses memory location repeatedly over a short period of time (Jouini, Rabai, & Aissa, 2014).
Hence, while designing a program, the restrictions of the memory hierarchy are often considered.
This aspect in relation to computer memory is quite crucial to a programmer since a good
program is often associated with the ability to access memory over and over again and will often
access the upper levels of memory hierarchy hence making them faster. Computer memory is
often classified into two categories; volatile memory and non-volatile memory. Further, it is then
categorized into three; a cache memory, the primary memory, and the secondary memory.
In relation to computer memory hierarchy, the CPU register is often the topmost level as
it holds the most frequently used data where the computer CPU and ALU will access while
performing arithmetic and logical operations. Cache memory is stores data associated to a
program that the CPU executes. The main memory stores data in large, slow disks which often
serves as the staging areas for data storage on other machines that are connected by a network.
Primary memory is used to hold data and instructions that the computer is working on and will
have partial capacity and is lost there is no power (Sajad & Sadiq, 2016). Random Access
Memory (RAM) is the CPU internal memory where data and program results are stored. One
characteristic of this type of memory is that the access time is independent of the address.
Another type of memory is Read Only Memory (ROM) where data stored is a read-only attribute
and cannot be written on it. The data stored in this type of memory is useful in the booting
process of a computer.
The programming language will often utilize two levels of memory that is the main
memory and disk storage. Hence, a programmer needs to consider the aspect of the program, the
hardware, and the compiler so as to have the optimal advantage of the memory hierarchy. In the
discussion of the computer memory hierarchy, there are three main features in Object-Oriented
Programming that will often play a huge role. These features include polymorphism,
encapsulation, and inheritance. Polymorphism according to Object Oriented programming is
used to refer where the programming language processes different objects differently subject on
the data types and classes (Dale, Joyce, & Weems, 2016). Likewise, encapsulation is used to
refer to the inclusion of all program objects that are needed by the object t...
Sign up to view the full answer