0% found this document useful (0 votes)
59 views2 pages

cs309 Asgn1-1

Object oriented programming uses abstraction and modularity to allow for code reuse and independent development on large projects. It defines functions as "black boxes" that take input and return output. Procedural programming does not allow for code reuse or abstraction and requires sequential scripting of each step. Object oriented development is more efficient and enables more complex programs.

Uploaded by

Andrew Denner
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as RTF, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
59 views2 pages

cs309 Asgn1-1

Object oriented programming uses abstraction and modularity to allow for code reuse and independent development on large projects. It defines functions as "black boxes" that take input and return output. Procedural programming does not allow for code reuse or abstraction and requires sequential scripting of each step. Object oriented development is more efficient and enables more complex programs.

Uploaded by

Andrew Denner
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as RTF, PDF, TXT or read online on Scribd
You are on page 1/ 2

Andrew Denner

CS 309 Asignment1

Part 2

1.) Write a few paragraphs explaining difference between developing


software in an OO way and in a procedural way.

The Object Oriented paradigm is best described as a set of Modules which aid in
code reusability and abstraction. This abstraction allows a developer to treat a
function as a “black box” that input can be passed to and then a result can be
collected from on the other side. It is a particularly useful methodology when
coding in a large project. Provided simple rules are followed by all, one
programmer can be working on one part of the project while another is on a
separate part. OO design also allows for code reuse across projects. For
example a linked list implementation can be written for one project and can be
easily transplanted from that project to another. This particular benefit is
especially evident in Open Source Software where code is often shared across
projects and is done with out even meeting the other developer.

Procedural programming is a older method of development. In Procedural


Programming the program is much like a script in a play, first you do the first
step then the next one and through ad nauseum. There are no functions and no
opportunities for code reuse. This development model frequently leads to much
copy and paste coding which can be problematic if requirements change and
rework is needed because each spot of repetitive code needs to be fixed.

Thus OO development allows programmers to develop in a more efficient


manner saving both time and money. It also allows for more complex programs
that are bigger and better then what could have ever created using Procedural
programming.

2.) What are benefits of inheritance?

Inheritance allows a programmer to quickly develop a set of similar classes with the
ability to reuse code that has only been defined once. A good example of this would
be a Interface that defines how to draw multiple sets of shapes yet allows a
programmer to overload parts that are different to use a different equation or to
have more sides.

This not only saves the developer time and cuts down on the amount of rewritten
code but also allows many developers to use a predefined structure and set to
better cooperate.

3.) What is Polymorphism (and Dynamic Binding) and give an example of its use.
Also describe key benefits of polymorphism.
The idea of Polymorphism is one of using generic interfaces to manipulate specific
objects. Again, using the example from the above question in a Drawing display
program, there exists the display interface, below that is the shape interface, and
below that is the line, dot, and circle objects. Dynamic binding allows the other
classes in the program to handle all display items the same, say by calling the
function shape.draw at runtime with out the compiler knowing what object will be
called until it is dynamically called at runtime.

4.) See attached files.

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy