Object-Oriented Java Programming Concepts

15440
 Distributed Systems
Recitation 1
Objected-Oriented Java Programming
User-defined Classes
Default and over-loaded constructors
Static/non-static attributes & methods
Access modifiers (public, private, protected)
Encapsulation (getters and setters)
ToString, Equals, CompareTo, HashCode methods
Overloaded methods (same name, diff. parameters)
Declaring and instantiating objects (new, superclass Object)
Package
Is a collection of related classes that can be imported into
projects
Allows reusing classes in multiple projects without physically
storing them in a project’s source code
E.g.: java.io.*,  java.util.*
Objected-Oriented
Programming Concepts
Inheritance
Organizes related classes in a hierarchy allowing reusability
extensibility of common code
Subclasses extend the functionality of a superclass
Subclasses inherit all the methods of the superclass (excluding
constructors and privates)
Subclasses can override methods from the superclass
Subclass declaration:
   
 
 
accessModifier
 class 
subclassName
 
extends
 
superclassName
Polymorphism
A concept which simplifies the processing of objects in the
same hierarchy
Allows to use the same method call for different objects that
implement the method in the hierarchy
Abstract
A class that is not completely implemented.
Contains 
one or more 
abstract methods (methods with no
bodies; only signatures) that subclasses must implement
Can not be used to instantiate objects
Abstract class header:
 
accessModifier
 
abstract
 
class 
className
Abstract method signature:
 
accessModifier
 
abstract
 
returnType
 
methodName
 ( 
args
 );
Subclass signature:
 
accessModifier
 
class 
subclassName
 
extends
 
className
Interface
A special abstract class in which all the methods are abstract
Contains only abstract methods that subclasses must
implement
Interface header:
 
accessModifier
 
interface
 
interName
Abstract method signature:
 
accessModifier
 
abstract
 
returnType
 
methodName
 ( 
args
 );
Subclass signature:
 
accessModifier
 
class 
subclassName
 
implements
 
interName1, interName2, ..
Java Generic Collections
Generic Collections
Classes that represent data-structures
G
eneric
 or 
parameterized
 since the elements’ data-type is given
as a parameter*
E.g.: LinkedList, Queue, ArrayList, HashMap, Tree
Provide methods for:
Iteration
Bulk operations
Conversion to/from arrays
 
*The data-type passed as parameter to a collection’s constructor can
not be of the type 
Object, 
the unknown type 
?, or a primitive data-
type
. The data-type must be a Class.
ArrayList Class
Is a subclass of Collection
Implements a resizable array
Provides methods for array manipulation
Generic or parameterized
Declaration and Instantiation:
ArrayList<
ClassName
> 
arrayListName
 = New ArrayList<
ClassName
>();
ArrayList Methods
Add, Get, Set, Clear, Remove, Size, IsEmpty, Contains,
IndexOf, LastIndexOf, AsList etc.
Basic Iterator:
for (int i = 0; i < arrayListName.size(); i++) {
 
// Get object at index i
 
ClassName obj = arrayListName.get(i)
 
// Process obj
}
Advanced Iterator:
 
for (ClassName obj : arrayListName)  { 
 
// Process obj  
}
  Iterator Object
Generic Methods
Generic
 or 
parameterized
 methods receive the data-type of
elements as a parameter
E.g.: a generic method for sorting elements in an array (be it
Integers, Doubles, Objects etc.)
Why Generic Methods?
Consider writing a method that takes an array of objects, a
collection, and puts all objects in the array into the collection
Generic
Method
Why Generic Methods? (contd.)
Consider writing a print method that takes arrays of any
data-type
Generic Classes
Provide a means for describing a class in a type-independent
manner
Generic Classes with Wildcards
Wildcards <?> denote “unknown” or “any’ type (resembles <T>)
Wildcards can restrict the data-type to a particular hierarchy
Slide Note
Embed
Share

Explore the fundamentals of object-oriented programming in Java, covering topics such as user-defined classes, inheritance, polymorphism, abstract classes, and interfaces. Learn about packages, encapsulation, access modifiers, overloading methods, and more to enhance your Java programming skills.

  • Java Programming
  • Object-Oriented
  • Inheritance
  • Polymorphism
  • Encapsulation

Uploaded on Oct 02, 2024 | 0 Views


Download Presentation

Please find below an Image/Link to download the presentation.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author. Download presentation by click this link. If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.

E N D

Presentation Transcript


  1. 15440 Distributed Systems Recitation 1 Objected-Oriented Java Programming

  2. User-defined Classes Default and over-loaded constructors Static/non-static attributes & methods Access modifiers (public, private, protected) Encapsulation (getters and setters) ToString, Equals, CompareTo, HashCode methods Overloaded methods (same name, diff. parameters) Declaring and instantiating objects (new, superclass Object)

  3. Package Is a collection of related classes that can be imported into projects Allows reusing classes in multiple projects without physically storing them in a project s source code E.g.: java.io.*, java.util.*

  4. Objected-Oriented Programming Concepts

  5. Inheritance Organizes related classes in a hierarchy allowing reusability extensibility of common code Subclasses extend the functionality of a superclass Subclasses inherit all the methods of the superclass (excluding constructors and privates) Subclasses can override methods from the superclass Subclass declaration: accessModifierclass subclassNameextendssuperclassName

  6. Polymorphism A concept which simplifies the processing of objects in the same hierarchy Allows to use the same method call for different objects that implement the method in the hierarchy

  7. Abstract A class that is not completely implemented. Contains one or more abstract methods (methods with no bodies; only signatures) that subclasses must implement Can not be used to instantiate objects Abstract class header: accessModifierabstractclass className Abstract method signature: accessModifierabstractreturnTypemethodName( args); Subclass signature: accessModifierclass subclassNameextendsclassName

  8. Interface A special abstract class in which all the methods are abstract Contains only abstract methods that subclasses must implement Interface header: accessModifierinterfaceinterName Abstract method signature: accessModifierabstractreturnTypemethodName( args); Subclass signature: accessModifierclass subclassNameimplementsinterName1, interName2, ..

  9. Java Generic Collections

  10. Generic Collections Classes that represent data-structures Generic or parameterized since the elements data-type is given as a parameter* E.g.: LinkedList, Queue, ArrayList, HashMap, Tree Provide methods for: Iteration Bulk operations Conversion to/from arrays *The data-type passed as parameter to a collection s constructor can not be of the type Object, the unknown type ?, or a primitive data- type. The data-type must be a Class.

  11. ArrayList Class Is a subclass of Collection Implements a resizable array Provides methods for array manipulation Generic or parameterized Declaration and Instantiation: ArrayList<ClassName> arrayListName = New ArrayList<ClassName>();

  12. ArrayList Methods Add, Get, Set, Clear, Remove, Size, IsEmpty, Contains, IndexOf, LastIndexOf, AsList etc. Basic Iterator: for (int i = 0; i < arrayListName.size(); i++) { // Get object at index i ClassName obj = arrayListName.get(i) // Process obj } Advanced Iterator: for (ClassName obj : arrayListName) { // Process obj } Iterator Object

  13. Generic Methods Generic or parameterized methods receive the data-type of elements as a parameter E.g.: a generic method for sorting elements in an array (be it Integers, Doubles, Objects etc.)

  14. Why Generic Methods? Consider writing a method that takes an array of objects, a collection, and puts all objects in the array into the collection Generic Method

  15. Why Generic Methods? (contd.) Consider writing a print method that takes arrays of any data-type

  16. Generic Classes Provide a means for describing a class in a type-independent manner

  17. Generic Classes with Wildcards Wildcards <?> denote unknown or any type (resembles <T>) Wildcards can restrict the data-type to a particular hierarchy

More Related Content

giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#