12th ip CBSE chapter 4 oop in java notes complete


Published on

12th class
Subject Information Practices
Chapter 4 Object oriented programming in java
Notes for Complete chapter

Published in: Education, Technology
1 Like
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

12th ip CBSE chapter 4 oop in java notes complete

  1. 1. Object Oriented Programming 1. 2. 3. 4. 5. 6. 7. It follows bottom up approach in program design. New functions and data items can be added easily. Data is given more importance than functions. It emphasizes on safety and security of data. Data is hidden and cannot be accessed by external functions. Objects communicate each other by sending messages in the form of functions. It helps in wrapping up of data and methods together in a single unit which is known as class and this process is called data encapsulation. 8. Some Examples of OOP Languages- C++, Java, C#, PHP. Advantages of OOP 1. 2. 3. 4. 5. 6. 7. 8. 9. Principle of data hiding helps programmer to design and develop safe programs Software complexity decreases. Code reusability in terms of inheritance. Object oriented systems can be easily upgraded from one platform to another. Improved software Maintainability. It implements real life scenario. Faster development: Reuse enables faster development. Lower cost of development: The reuse of software also lowers the cost of development. Higher-quality software: Faster development of software and lower cost of development allows more time and resources to be used in the verification of the software. 10. In OOP, programmer not only defines data type but also deals with operations applied for data structures. Disadvantages of OOP 1. Larger program size: Object-oriented programs typically involve more lines of code than procedural programs. 2. Steep learning curve: The thought process involved in object-oriented programming may not be natural for some people, and it can take time to get used to it. 3. Slower programs: Object-oriented programs are typically slower than procedure-based programs, as they typically require more instructions to be executed. 4. Not suitable for all types of problems: There are problems that lend themselves well to functional-programming style, logic-programming style, or procedure-based programming style, and applying object-oriented programming in those situations will not result in efficient programs. Class 1. 2. 3. 4. A class serves as a blueprint or a plan or a template or a prototype. A class is a collection of data members and methods. It specifies what data and what functions will be included in objects of that type. Defining a class does not create any object.
  2. 2. 5. Once a class has been defined, we can create any number of objects belonging to that class. 6. A class is thus a collection of objects of similar type. 7. All the attributes of a class are fixed before, during and after the execution of a program. Object 1. An object is an instance of a class. 2. Objects have states and behaviors. Example: A dog has states - color, name, breed as well as behaviors -wagging, barking and eating. 3. Object’s state is stored in fields and behavior is shown via methods. 4. Objects are identified by its unique name. 5. Every object belongs to a class. 6. Object has a limited lifespan. 7. During the lifetime, the attributes of the object may undergo significant change. 8. Objects are created and eventually destroyed. Data Members We have two types of data members 1. Instance/non-static data members Syntax- <object name>.<data member> Ex. text, editable, enabled, toolTipText in JTextField class 2. Static data members Syntax- <class name>.<data member> Methods Ex. Math.PI Each and every method is meant for performing some operation. We have two types of methods they are- 1. Instance/ non –static methods Syntax- <object name>.<method name> Ex. jTextField1.setText(), jTextField1.getText(), jLabel1.setToolTipText 2. Static methods Syntax- <class name>.<method name> Ex. JOptionPane.showMessageDialog(null,”this is message dialog”); Math.pow(3,2);
  3. 3. Polymorphism Polymorphism allows the programmer to give a generic name to various methods or operators to minimize his memorizing of multiple names. 1. The ability to appear in many forms. 2. In object oriented programming there is a provision by which an operator or a method exhibits different characteristics depending upon different sets of input provided to it. 3. Two examples of polymorphism are a. Method Overloading i. Method overloading is where a method name can be associated with different set of arguments/parameters and method bodies in the same class. Ex. round() method of Math class and Substring method of String class float f=12.5; double d=123.6543; int num1=Math.round(f); //num1 will store 13 float num2=Math.round(d); //num2 will store 124.0 b. Operator Overloading i. In this Overloading, different operators have different implementations depending on their arguments. ii. Java doesn't support user-defined operator overloading. iii. ‘+’ operator for String and int is an example of operator overloading String a=”hello”, b =”world”; String c=a+b; int num1=10, num2=20; int num3=num1+num2; //c will store helloworld //num3 will store 30 Inheritance Inheritance enables the programmer to effectively utilize already established characteristics of a class in new classes and applications. 1. 2. 3. 4. 5. 6. 7. 8. 9. The extended class is termed the direct superclass, base class, or parent class. The extending class is termed the direct subclass, derived class, or child class. Create a new class as an extension of another class, primarily for the purpose of code reuse. The derived class inherits the public methods and public data of the base class. A subclass can extend only one superclass Inheritance defines an is-a relationship between a superclass and its subclasses. The process of inheritance does not affect the base class. extends keyword is used in java to inherit data members and methods of a base class. Final classes can be inherited. Ex. String (java.lang.String)
  4. 4. Math (java.lang.Math) Syntax of Inheritance class Subclass-name extends Superclass-name { //methods and fields } Advantages of Inheritance 1. 2. 3. 4. 5. Inheritance allows reusability of code. A debugged class can be adapted to work in different situations. Saves Time and Effort. Increases Program Structure which results in greater reliability. It is very useful in original conceptualization and design of a programming problem. 1. 2. 3. 4. 5. 6. 7. 8. 9. The classes for which it is not essential to declare objects to use them are known as abstract class. abstract classes are used for defining generic methods where there is no requirement of storing results. An abstract class is a class that is designed to be specifically used as a base class. abstract classes are classes that contain one or more abstract methods. An abstract method is a method that is declared, but contains no implementation. abstract keyword is used to denote both an abstract method, and an abstract class. A class must be declared abstract if any of the methods in that class are abstract. abstract class is one that does not provide implementations for all its methods. An Abstract class can contain non abstract methods too. Ex. Number class (java.lang.Number) Component (javax.awt.Component) JComponent (javax.swing.JComponent) Abstract Class Concrete class 1. A concrete class in java is one which implements the functionalities of an abstract class. Examples of concrete classesi. JLable class (javax.swing.JLable) because it extends abstract class JComponent (javax.swing.JComponent) ii. JButton class(javax.swing.JButton) because it extends abstract class AbstractButton (javax.swing.AbstractButton)