Chapter 5 declaring classes & oop

Post on 11-Nov-2014

608 views 3 download

Tags:

description

 

transcript

CHAPTER 5 DECLARING CLASSES ,ENCAPSULATION,

INHERITANCE, POLYMORPHISM, ABSTRACT AND EXCEPTION HANDLING

PAG WALA ENCAPSULATION MAWAWALA ANG DANGAL AT INTEGRIDAD NG PROGRAM

ENCAPSULATION

• Encapsulation is the ability of an object to be a container (or capsule) for related properties (ie. data variables) and methods (ie. functions). Older languages did not enforce any property/method relationships. This often resulted in side effects where variables had their contents changed or reused in unexpected ways and spaghetti code that was difficult to unravel, understand and maintain. Encapsulation is one of three fundamental principles in object oriented programming.

DATA HIDING

• Data hiding is the ability of objects to shield variables from external access. It is a useful consequence of the encapsulation principle. Those variables marked as private can only be seen or modified through the use of public accessor and mutator methods. This permits validity checking at run time. Access to other variables can be allowed but with tight control on how it is done. Methods can also be completely hidden from external use. Those that are made visible externally can only be called by using the object's front door (ie. there is no 'goto' branching concept).

CLASS

METHODS

CONSTRUCTOR

Constructors are used to initialize instance variables There is always at least one constructor in every class.If a programmer does not define a constructor, the compiler automatically creates one.

this

• EVERY OBJECT CAN ACCESS A REFERENCE TO ITSELF

Final items cannot be modified. In the case of classes and methods, it means they cannot be extended or overridden, respectively. Native methods are implemented using a language other than Java, usually C or C++.Synchronized methods can be executed by only one thread at a time. Volatile fields are eliminated from certain compiler optimizations regarding references to them. Transient fields are ones that will not be saved when an object is serialized.Static items can be referenced using the name of the class in which they are defined to access them. They are not associated with class instances, although they can be referenced using instance variables. Final items cannot be modified. In the case of classes and methods, it means they cannot be extended or overridden, respectively.

MODIFIERS/ QUALIFIERS

TAGA CONTROL NG ACCESS ALSO DEFINE THE BOUNDARY OF AN OBJECT

WITH IN THE PACKAGE LANG PUWEDE MAG EXPLORE

COMPOSITION

• A CLASS CAN HAVE REFERENCES TO OBJECT OF OTHER CLASSES AS MEMBER.

• set – modify the variable value to ensure the new value is approximate for that data item.

• get - control how the client can access the variable.

Main Class

SubClass

PRIVATE STRING NAME

+setName(name:String):void

+setGrade(grade:double):void

() – attributes or parameter argument

This class declaration. The class body ( the area between the braces) contains all The code that provides for the objects created from the class: constructors for Initializing new objects, declaring for the fields that provide the state of the class and its object, and methods to implement the behavior of the class and its objects.

Field declarations are composed of 3 components in order:1. Zero or more modifiers such as public and private2. The field’s type.3. The field’s name.

toString• The toString method is widely implemented. It provides a simple,

convenient mechanism for debugging classes during development. It is also widely used for logging, and for passing informative error messages to Exception constructors and assertions. When used in these informal ways, the exact format of toString is not part of the contract of the method, and callers should not rely on the exact format of the returned String. The toString method may occasionally be used more formally, however. An example is a simple mechanism for translating an object into a well-defined textual form (toString) and back again (valueOf). In this case, it is particularly important to specify the exact form of such text in javadoc.

• When implementing toString, StringBuilder can be used instead of the + concatenation operator, since the StringBuilder.append operation is slightly faster.

EXAMPLE OF INHERITANCE

INHERITANCE

• indicates the capability of a class to be inherited or extended by other classes. abstract classes must be extended and final classes can never be extended by inheritance. The default (ie. omitted) indicates that the class may or may not be extended at the programmers discretion.

• Class_name has initial letter capitalized by Java convention.

• The third option of extends is described in the tutorial on inheritance.

• The fourth option of implements is described in the tutorial on interfaces.

INTRODUCING FINAL VERSION OF STUDENT RECORD

APPLICATIONBY

ENGINEER JESS DALE DELA CRUZ

STUDENT

TEACHER