chapter 5 declaring classes & oop

162
CHAPTER 5 DECLARING CLASSES ,ENCAPSULATION, INHERITANCE, POLYMORPHISM, ABSTRACT AND EXCEPTION HANDLING

Upload: sshhzap

Post on 11-Nov-2014

614 views

Category:

Education


3 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Chapter 5 declaring classes  & oop

CHAPTER 5 DECLARING CLASSES ,ENCAPSULATION,

INHERITANCE, POLYMORPHISM, ABSTRACT AND EXCEPTION HANDLING

Page 2: Chapter 5 declaring classes  & oop

PAG WALA ENCAPSULATION MAWAWALA ANG DANGAL AT INTEGRIDAD NG PROGRAM

Page 3: Chapter 5 declaring classes  & oop

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.

Page 4: Chapter 5 declaring classes  & oop

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).

Page 5: Chapter 5 declaring classes  & oop

CLASS

Page 6: Chapter 5 declaring classes  & oop
Page 7: Chapter 5 declaring classes  & oop
Page 8: Chapter 5 declaring classes  & oop

METHODS

Page 9: Chapter 5 declaring classes  & oop
Page 10: Chapter 5 declaring classes  & oop

CONSTRUCTOR

Page 11: Chapter 5 declaring classes  & oop
Page 12: Chapter 5 declaring classes  & oop

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.

Page 13: Chapter 5 declaring classes  & oop

this

• EVERY OBJECT CAN ACCESS A REFERENCE TO ITSELF

Page 14: Chapter 5 declaring classes  & oop
Page 15: Chapter 5 declaring classes  & oop
Page 16: Chapter 5 declaring classes  & oop

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

Page 17: Chapter 5 declaring classes  & oop
Page 18: Chapter 5 declaring classes  & oop
Page 19: Chapter 5 declaring classes  & oop
Page 20: Chapter 5 declaring classes  & oop
Page 21: Chapter 5 declaring classes  & oop

TAGA CONTROL NG ACCESS ALSO DEFINE THE BOUNDARY OF AN OBJECT

WITH IN THE PACKAGE LANG PUWEDE MAG EXPLORE

Page 22: Chapter 5 declaring classes  & oop
Page 23: Chapter 5 declaring classes  & oop
Page 24: Chapter 5 declaring classes  & oop
Page 25: Chapter 5 declaring classes  & oop
Page 26: Chapter 5 declaring classes  & oop
Page 27: Chapter 5 declaring classes  & oop
Page 28: Chapter 5 declaring classes  & oop
Page 29: Chapter 5 declaring classes  & oop

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.

Page 30: Chapter 5 declaring classes  & oop

Main Class

Page 31: Chapter 5 declaring classes  & oop

SubClass

Page 32: Chapter 5 declaring classes  & oop

PRIVATE STRING NAME

+setName(name:String):void

+setGrade(grade:double):void

() – attributes or parameter argument

Page 33: Chapter 5 declaring classes  & oop

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.

Page 34: Chapter 5 declaring classes  & oop

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.

Page 35: Chapter 5 declaring classes  & oop
Page 36: Chapter 5 declaring classes  & oop
Page 37: Chapter 5 declaring classes  & oop
Page 38: Chapter 5 declaring classes  & oop
Page 39: Chapter 5 declaring classes  & oop

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.

Page 40: Chapter 5 declaring classes  & oop
Page 41: Chapter 5 declaring classes  & oop
Page 42: Chapter 5 declaring classes  & oop
Page 43: Chapter 5 declaring classes  & oop
Page 44: Chapter 5 declaring classes  & oop
Page 45: Chapter 5 declaring classes  & oop
Page 46: Chapter 5 declaring classes  & oop
Page 47: Chapter 5 declaring classes  & oop
Page 48: Chapter 5 declaring classes  & oop
Page 49: Chapter 5 declaring classes  & oop
Page 50: Chapter 5 declaring classes  & oop
Page 51: Chapter 5 declaring classes  & oop
Page 52: Chapter 5 declaring classes  & oop

EXAMPLE OF INHERITANCE

Page 53: Chapter 5 declaring classes  & oop
Page 54: Chapter 5 declaring classes  & oop
Page 55: Chapter 5 declaring classes  & oop
Page 56: Chapter 5 declaring classes  & oop
Page 57: Chapter 5 declaring classes  & oop
Page 58: Chapter 5 declaring classes  & oop
Page 59: Chapter 5 declaring classes  & oop
Page 60: Chapter 5 declaring classes  & oop
Page 61: Chapter 5 declaring classes  & oop
Page 62: Chapter 5 declaring classes  & oop
Page 63: Chapter 5 declaring classes  & oop
Page 64: Chapter 5 declaring classes  & oop
Page 65: Chapter 5 declaring classes  & oop
Page 66: Chapter 5 declaring classes  & oop
Page 67: Chapter 5 declaring classes  & oop
Page 68: Chapter 5 declaring classes  & oop
Page 69: Chapter 5 declaring classes  & oop
Page 70: Chapter 5 declaring classes  & oop
Page 71: Chapter 5 declaring classes  & oop

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.

Page 72: Chapter 5 declaring classes  & oop
Page 73: Chapter 5 declaring classes  & oop
Page 74: Chapter 5 declaring classes  & oop
Page 75: Chapter 5 declaring classes  & oop
Page 76: Chapter 5 declaring classes  & oop
Page 77: Chapter 5 declaring classes  & oop
Page 78: Chapter 5 declaring classes  & oop
Page 79: Chapter 5 declaring classes  & oop
Page 80: Chapter 5 declaring classes  & oop
Page 81: Chapter 5 declaring classes  & oop
Page 82: Chapter 5 declaring classes  & oop
Page 83: Chapter 5 declaring classes  & oop
Page 84: Chapter 5 declaring classes  & oop
Page 85: Chapter 5 declaring classes  & oop
Page 86: Chapter 5 declaring classes  & oop
Page 87: Chapter 5 declaring classes  & oop
Page 88: Chapter 5 declaring classes  & oop
Page 89: Chapter 5 declaring classes  & oop
Page 90: Chapter 5 declaring classes  & oop
Page 91: Chapter 5 declaring classes  & oop
Page 92: Chapter 5 declaring classes  & oop
Page 93: Chapter 5 declaring classes  & oop
Page 94: Chapter 5 declaring classes  & oop
Page 95: Chapter 5 declaring classes  & oop
Page 96: Chapter 5 declaring classes  & oop
Page 97: Chapter 5 declaring classes  & oop
Page 98: Chapter 5 declaring classes  & oop
Page 99: Chapter 5 declaring classes  & oop
Page 100: Chapter 5 declaring classes  & oop
Page 101: Chapter 5 declaring classes  & oop
Page 102: Chapter 5 declaring classes  & oop
Page 103: Chapter 5 declaring classes  & oop
Page 104: Chapter 5 declaring classes  & oop
Page 105: Chapter 5 declaring classes  & oop
Page 106: Chapter 5 declaring classes  & oop
Page 107: Chapter 5 declaring classes  & oop
Page 108: Chapter 5 declaring classes  & oop
Page 109: Chapter 5 declaring classes  & oop
Page 110: Chapter 5 declaring classes  & oop
Page 111: Chapter 5 declaring classes  & oop
Page 112: Chapter 5 declaring classes  & oop
Page 113: Chapter 5 declaring classes  & oop
Page 114: Chapter 5 declaring classes  & oop
Page 115: Chapter 5 declaring classes  & oop
Page 116: Chapter 5 declaring classes  & oop
Page 117: Chapter 5 declaring classes  & oop

INTRODUCING FINAL VERSION OF STUDENT RECORD

APPLICATIONBY

ENGINEER JESS DALE DELA CRUZ

Page 118: Chapter 5 declaring classes  & oop
Page 119: Chapter 5 declaring classes  & oop
Page 120: Chapter 5 declaring classes  & oop
Page 121: Chapter 5 declaring classes  & oop
Page 122: Chapter 5 declaring classes  & oop
Page 123: Chapter 5 declaring classes  & oop
Page 124: Chapter 5 declaring classes  & oop
Page 125: Chapter 5 declaring classes  & oop

STUDENT

Page 126: Chapter 5 declaring classes  & oop
Page 127: Chapter 5 declaring classes  & oop
Page 128: Chapter 5 declaring classes  & oop
Page 129: Chapter 5 declaring classes  & oop
Page 130: Chapter 5 declaring classes  & oop
Page 131: Chapter 5 declaring classes  & oop
Page 132: Chapter 5 declaring classes  & oop
Page 133: Chapter 5 declaring classes  & oop
Page 134: Chapter 5 declaring classes  & oop
Page 135: Chapter 5 declaring classes  & oop
Page 136: Chapter 5 declaring classes  & oop
Page 137: Chapter 5 declaring classes  & oop

TEACHER

Page 138: Chapter 5 declaring classes  & oop
Page 139: Chapter 5 declaring classes  & oop
Page 140: Chapter 5 declaring classes  & oop
Page 141: Chapter 5 declaring classes  & oop
Page 142: Chapter 5 declaring classes  & oop
Page 143: Chapter 5 declaring classes  & oop
Page 144: Chapter 5 declaring classes  & oop
Page 145: Chapter 5 declaring classes  & oop
Page 146: Chapter 5 declaring classes  & oop
Page 147: Chapter 5 declaring classes  & oop
Page 148: Chapter 5 declaring classes  & oop
Page 149: Chapter 5 declaring classes  & oop
Page 150: Chapter 5 declaring classes  & oop
Page 151: Chapter 5 declaring classes  & oop
Page 152: Chapter 5 declaring classes  & oop
Page 153: Chapter 5 declaring classes  & oop
Page 154: Chapter 5 declaring classes  & oop
Page 155: Chapter 5 declaring classes  & oop
Page 156: Chapter 5 declaring classes  & oop
Page 157: Chapter 5 declaring classes  & oop
Page 158: Chapter 5 declaring classes  & oop
Page 159: Chapter 5 declaring classes  & oop
Page 160: Chapter 5 declaring classes  & oop
Page 161: Chapter 5 declaring classes  & oop
Page 162: Chapter 5 declaring classes  & oop