edit-article
Home
Up
Delete
Article Name:
Article Description:
listing of all articles in the OOP book, links to each article
Chapter ID/Name:
Status:
Write
Writing
Written
Add Photo:
Owner ID:
Content:
use HTML
Edit Content
<h1 style="text-align: center;">OOP - contents</h1> <p> </p> <ol> <li><strong>CONTENTS</strong></li> <ol> <li>x] article listing all of the articles in this book. includes links to each of the individual articles. a good place to start.</li> </ol> <li><strong>INTRODUCTION</strong></li> <ol> <li>] an overview article describing this book, its "intentions", <span style="text-decoration: underline;"><a href="/view/article?id=1659" target="_blank">why I wrote it</a></span> and how it can (hopefully) help you <span style="text-decoration: underline;">master this (or any other) subject</span></li> </ol> <li><strong>VERSIONS</strong></li> <ol> <li>] n/a</li> </ol> <li><strong>OOP - PRINCIPLES OF OOP =</strong></li> <ol> <li><strong>] objects </strong>- programs are typically designed by modelling real world 'objects', the objects try to emulate the characteristics and behaviour of their real world counterparts. The design of an object is typically defined in a <strong>class</strong>, while an instance of that object is referred to as an 'instance of' said class </li> <li><strong>] class, classes*,</strong> a class is the pattern/template that defines an object with all of its attributes/properties and behaviours/methods, you are encapsulating(enclosing) all of the properties and behaviour of an object within a single code block, </li> <ol> <li>] inner classes - </li> <li>] abstract classes - </li> <li>] static classes - </li> </ol> <li><strong>] encapsulation </strong></li> <ol> <li>] any changes to the properties of an object is performed throught the methods of the object. If your object has a 'weight' property and you want the user to alter this 'weight' then then 'your object class' must define a setWeight() method that will allow the user to adjust this method </li> <li>] the practice of defining all of an objects data and behaviour in its class, </li> </ol> <li><strong>] inheritance -</strong> passing down the traits of a class to another class, EX car inheirits from vehicle, vehicle defines general attributes for most vehicles, while car defines only the attributes specific to a car. By inheiriting from the Vehicle class, the Car class </li> <li><strong>] polymorphism -</strong> behaviour, different implementations of a method dependant upon the object using the method, the method(speak) is defined ONCE in an interface and each of the objects that use the method can inherit the interface and define/provide their own implementation of the speak method. EX speak() dog class would produce a 'bark', speak in the cat class would produce a 'meow' and the pig class would produce an 'oink' process of implementation is accomplished throught using interfaces / method overloading </li> <li><strong>] abstraction</strong> - show only the necessary details to the client of the object. Do you know the inner details of the Monitor of your PC? What happen when you switch ON Monitor? Does this matter to you what is happening inside the Monitor? No, the client who is using your class need not to be aware of the inner details like how your class does its operations, S/He needs to know just few details. This certainly helps in reusability of the code.The best thing of abstraction is that it decouples the user of the object and its implementation. So now the object is easy to understand and maintain also. As if there is any change in the process of some operation. You just need to change the inner details of a method, which has no impact on the client of class.</li> <li><strong>] aggragation -</strong> the concept of an object being composed of multiple other objects, ex car is composed of engine, transmission, chassis, ...</li> <li><strong>] open recursion</strong> ( this self )</li> <li><strong>] decoupling -</strong> separate code modules from particular use cases, which increases code re-usability</li> </ol> <li><strong>OTHER</strong></li> <ol> <li>i] BOOK - <a href="/view/article?id=1559" target="_blank">language - c#</a> </li> <li>i] BOOK - <a href="/view/chapters?id=191" target="_blank">language - javascript</a></li> </ol> <li><strong>REFERENCE</strong></li> <ol> <li>] OOP - <a href="http://en.wikipedia.org/wiki/Object-oriented_programming" target="_blank">wikipedia</a>,</li> <li>] <a href="http://msdn.microsoft.com/library/Vstudio/dd460655" target="_blank">MS Programming Concepts</a></li> <li>[oop] overview - => c# examples => js examples </li> <li>] Beginning C# Object-Oriented Programming - Dan Clark</li> </ol></ol> <p> </p> <p> </p>