Experiencing Object Oriented Concepts

Experiencing Object Oriented Concepts

by John E. Mathew

Paperback

$54.20
View All Available Formats & Editions
Members save with free shipping everyday! 
See details

Product Details

ISBN-13: 9781449086961
Publisher: AuthorHouse
Publication date: 03/04/2010
Pages: 273
Product dimensions: 6.00(w) x 9.00(h) x 0.62(d)

Read an Excerpt

Experiencing Object Oriented Concepts


By John E. Matthew

AuthorHouse

Copyright © 2010 John E. Matthew
All right reserved.

ISBN: 978-1-4490-8696-1


Chapter One

Experiencing Object Oriented Concepts - by John E. Mathew for beginners

This book introduces Object Oriented Concepts in an easy-to-understand format for anyone who is minimally computer literate; programming background is not a prerequisite. Rather, this book guides the reader towards programming techniques by helping the reader to experience Object Oriented Concepts as simple truths of our everyday experience of cognitive life.

Unlike other texts, the mode of instruction is 'Show & Tell'. Upper half of every page has a content depicting the concepts and the lower half has a notes section, which interprets the content above. This format is a powerful viso-cognitive mode, a mode just powerful enough to impart Object Oriented Concepts and demonstrate its universality by applying it in various domains. Java programming language is gradually introduced for any non-programmer to become familiarized with Java in particular and Object Oriented or Object Based programming in general, like 'C', 'C++' etc. This book is ideally suitable for would-be software engineers and programmers with no prior programming experience.

Object Oriented Concepts

Introduction

The application of Common Sense to Programming

The subjective nature of this Concept

The Application of this concept to develop Object Orient Models such as

Object Oriented Analysis

Object Oriented Design

Object Oriented Programming

This Concept is derived from essential characteristics about how Human Beings perceive the surrounding and cognize these perceived objects (both abstract and concrete).

These common ways of perceiving objects are analyzed and the common pattern in which Human Beings think is formalized and finally evolved into well-founded Concepts.

These concepts are further applied in a number of different branches of the field of Information Technology as various Models like

Object Oriented Analysis Object Oriented Design & Object Oriented Programming.

Complex Systems

What are Complex Systems?

Some Examples of Complex Systems

Complex Systems are Systems, which evolve by the integration of simpler subsystems through proper interfaces, to tackle complex tasks, which are otherwise not solvable as one giant task.

Examples:

An Airplane

An International courier Company

A Manufacturing Department

A Personal Computer

A Government

A Car

Hint: Decompose these Complex Systems and enumerate and describe the subsystems. E.g. a personal computer can be decomposed into a monitor, a hard drive, a keypad and a mouse.

Structure of Complex Systems

The structure of any Complex System has five main features

Complex Systems compose interrelated subsystems

The primitivity of components in a Complex System is a subjective choice of the observer of the system High frequency interaction of the components within a subsystem is evident Stable intermediate forms of Complex System Complex System that works is invariably found to have evolved from simpler systems

When a number of Complex Systems are analyzed, five essential properties are invariably observed in all systems. And these observed properties are to be understood in detail, for us to understand Object Oriented Concepts in the right perspective.

Structure of Complex Systems

Complex Systems compose interrelated subsystems

Frequently, complexity takes the form of a hierarchy, whereby a Complex System is composed of interrelated subsystems that have their own subsystems and so on, until some lowest level of elementary component is reached.

For example, a car, which is a Complex System, can be viewed as an integration of a number of smaller sub-systems. At the highest level its subsystems are an engine, a transmission, a body, a set of wheels, axles and a subsystem of controlling mechanisms.

Another Example:

A Personal Computer composes of a monitor, a hard-drive, a keyboard and a mouse; and these subsystems are interrelated and interdependent for the functioning of the whole as a computer.

Structure of Complex Systems

The primitivity of components in a Complex System is a subjective choice of the observer of the system

The choice of what components in a system are primitive, is arbitrarily relative and is largely up to the discretion of the observer of the system.

This implies that a system can be broken down into subsystems and these subsystems can further be broken down as smaller subsystems. This can be recursively done several times until the simplest elements are reached. The fundamental elements are not an assembly of any other smaller elements.

However, it is left to the discretion of the observer to observe the system to the desired level of subsystems.

For Example, a Computer Hardware Assembly Engineer will be interested only in the assembly of the major components like the monitor, the keyboard and the hard disk. Where as, a Microprocessor Engineer will be interested only in the assembly of the Microprocessor chip rather than a computer as a whole.

The structure of Complex Systems

The frequency of interaction among components within a subsystem is far more that the frequency of interaction between components across the subsystem boundaries.

It is observed that in a Complex System, the interaction among components of a subsystem is more dynamic and numerous rather than the interactions between components across the boundaries of the subsystems.

Intra component linkages are generally stronger than the inter component linkages. This fact has the effect of separating, high frequency dynamics of the components -(involving the internal structure of the components) from the low frequency dynamics-(involving interaction among components). This makes it possible to study each part in relative isolation.

For example, in a car manufacturing company, a sales person in a sales department will be interacting more with the personnel in the sales department rather than with a lathe operator in a manufacturing department. Similarly, a lathe operator in a manufacturing floor will be interacting closely with a production manager rather than with a shareholder of a company.

The structure of Complex Systems

Stable intermediate forms of Complex System

The fact that a Complex System can be broken down into simpler subsystems shows that these subsystems are actually intermediate stable systems.

Hierarchic systems are usually composed of only a few different kinds of subsystems in various combinations and arrangements. Complex Systems will evolve from simple systems more rapidly, if there are stable intermediate forms than if they are not.

For example, a Complex System like a car can be observed as an assembly of engine, chase, axles, wheels, transmission and other minor details. Here it can be reasoned that a wheel performs the function of rolling on a track isolated from the rest of the components, similarly the engine can deliver power in isolation without being mounted on the car. Similar is the case with the transmission, the chase and the axle. So each subsystem works perfect in isolation. Now we can assemble the wheels and the axle which is another but higher intermediate stable subsystem. Also the engine and the transmission together when assembled is another stable subsystem, Finally, when the chase is supported by the wheels and axles and is powered by the engine and transmission then the whole system is called a car, which is a Complex System.

The structure of Complex Systems

Complex System that works is invariably found to have evolved from simpler systems

This statement is only a variation of the earlier statement. It has been seen in practical evolution of Complex Systems that, it is only simple systems, which evolve into Complex Systems. Hence the proof, simple systems are stable systems on which developments were done.

Example:

A Black and White TV is a stable simpler system which later evolved into a tube Color TV which is now replaced by a much more complex Plasma flat HDTV, LCD, LED, etc.

Classes and Objects

An introductory easy to understand approach to classes and objects without any hard programming

Classes and Objects are the most frequently used words in programming environment. A complete understanding of this concept without any ambiguity is the datum for the rest of ones programming career.

This and in the rest of the following few pages a commonsense understanding of these two words will be well demonstrated through practical cognitive experiences. Once well understood, this concept will be further advanced and soon will be made relevant in the abstract programming realm.

Practical Examples CLASSES

Classes

CAR

When someone utters the word 'CAR' shown on the screen to you, you mentally create an idea about a car; a car with its essential characteristics. You will not mentally reconstruct an image of a refrigerator or for that matter any other kind of object, which does not resemble a car.

In a demonstrating scenario if someone points at a refrigerator and states "This is a car", you will be astonished and not agree with his/her statement. The reason why you will not agree is that you have a definite idea about what a car is and what are its essential characteristics and its essential functions. This idea is a definition about the class 'CAR'. Though this definition will not describe any one car in particular, it will generally distinguish these kinds of objects from the rest of the universe in totality.

It is noteworthy that a class will not specifically define a particular object. It will define only the essential characters about a group of similar objects.

Here we are only understanding what a class is, qualitatively. But as the book progresses we will be defining these characteristics much more definitely and quantitatively in IT environment.

Classes

Postal Address

These words were chosen to demonstrate that classes could be abstract too.

When someone utters these words, you mentally think of this as a label to a particular location. The idea evoked by these words "Postal Address" is nothing different from the idea generated by the word in the previous page 'CAR'. In our mental world these two are ideas and they are not categorically different. Whereas, in the real word only a car can be objectively perceived; but a 'Postal Address' is a physical abstraction. 'Postal Address' is not tangible to our sense perception. It is metaphysical in existence, just like a geometrical figure. Yet it is immediately having a form in our mental activity when the word 'Postal Address' is uttered as much as the word 'Triangle' is uttered.

Practical Examples

Objects

Objects

A particular car

The words "A particular car" is much more specific when compared to the word 'Car'.

When the word 'Car' was uttered we thought about a generalized idea about cars. This generalized idea could be stated as "a class definition".

However, if we are going to direct our attention to a particular car then we have directed our attention to a car and further, all other cars are out of our attention. Then, that car is the object of our attention. It has features, which are unique to itself and will be distinctively different from all other cars in our Universe.

Practically it can be explained that your car and your neighbor's cars fall within the class definition 'Car'. But each car is an object of different instances of the Class 'Car'.

Relationship between Classes and Objects

Now that we have brought about a qualitative understanding about Classes and Objects, we will try to establish a definite relationship between these two understandings.

Later in the book, we will bring about a quantitative approach to these concepts.

The Relationship

An object is an instance of a class

An object is an instance of a class. A class is more general and a collective statement about a group of similar objects. But an object is a statement about a definite instance of a class.

Example 1 of class-object relationship

Class Planet = {Heavenly Body Revolving the Sun} Planet Mars Planet Jupiter Planet Uranus

Here we know what a planet is and that occurs to us as a class definition. It can be defined as that heavenly body which revolves round the sun

'Mars' is an instance of the Class 'Planet'.

It is equivalent to say in computer parlance

The Object 'Mars' is an instance of the Data Type 'Planet'

'Mars' is the object and 'Planet' is the class

By way of similarity, the other two planets namely 'Jupiter' and 'Uranus' are also two different instances of the Class 'Planet'. Here we have three objects of the Type 'Planet'. It is of equal imperative to state

"Here we have three instances of the Class 'Planet'".

Example 2 of class-object relationship

Class Human_Being = {That beings we all are} Human_Being 'John' Human_Being 'George' Human_Being 'Neil'

Here we define a Class 'Human_Being' as the beings we all are. The Class 'Human_Being' defines our very nature and properties both intrinsic and extrinsic to us.

Three instances of the Class 'Human_Being' are declared in last three lines as John, George and Neil.

Please be advised that these are only pseudo statements. These must be further refined as exact statements to be interpreted by a dump machine like computer.

Note: An under-sore in between words is intended to convey the whole meaning when connected together, in computer parlance for convenience.

Attributes of a class

Attributes of a class are those quantifiable or Distinguishable values which can be assigned to several instances of a class.

We have understood, objects of a class share properties but we can readily see that the objects of the same class are not identical. They are only similar. We must be careful to delineate the differences. The attributes of the objects are qualitatively identical but they are quantitatively different.

In the next example we shall bring about the concept of attributes associated with classes and objects.

Attributes

Class Human_Being = { First Name = ___; Last Name = ___; Age = ___; Place of Birth = ___; }

Here an attempt is made to be specific about a Human_Being compared to an earlier attempt trying to define a Class 'Human_Being\

It can be likened to a form yet to be filled, to describe a Human_Being.

It is interesting to note, in the practical world when someone hands you a form to be filled, we are actually having a class structure. Similar to what is shown here, the form has a number of blanks, check boxes and other vacant spaces to be filled.

An unfilled form can be thought of as a class and a completely filled form as an instance of a class.

Classes are forms before being completed; but they represent an instance of a class when completed.

In this Class 'Human_Being', for the sake of simplicity only four attributes are being captured as data, enough to define a Human_Being.

Note: Every whole statement is ended with a semicolon to demarcate statements throughout this book, to be consistent with IT parlance.

Instance 1 of the Class

Human_Being HB1 = { First Name = 'John'; Last Name = 'Mathew'; Age = 32; Birth Place = 'INDIA'; }

In this and the following two pages, three instances of the Class 'Human_Being' are done. All the three objects of the Class 'Human_Being' are having four attributes, namely

First Name Last Name Age Birth Place

These attributes are also called as instance variables.

(Continues...)



Excerpted from Experiencing Object Oriented Concepts by John E. Matthew Copyright © 2010 by John E. Matthew. Excerpted by permission.
All rights reserved. No part of this excerpt may be reproduced or reprinted without permission in writing from the publisher.
Excerpts are provided by Dial-A-Book Inc. solely for the personal use of visitors to this web site.

Customer Reviews