Focuses on developing foundational skills in Java programming by creating classes from scratch instead of relying solely on existing Java API classes.
Programs utilize predefined classes from the Java API.
Transition to designing programs with self-defined classes, starting from the main method.
True object-oriented programming involves creating classes that represent real-world objects with defined characteristics and behaviors.
A class serves as a blueprint for objects, containing:
Data Declarations: Variables that store data relevant to the class (e.g., int size, weight).
Method Declarations: Functions that define the behaviors of the objects.
Instance data differs for each object created from a class, enabling unique state representation.
Two perspectives of an object:
Internal: Details of the variables and methods.
External: Services provided to other parts of the system.
Encapsulation keeps the internal workings hidden, allowing interaction only through defined methods.
Visibility modifiers such as public
, private
, and protected
enforce data access levels and control encapsulation.
Method Declaration:
Includes method name, return type, and parameter list.
Control flow jumps to called methods and returns upon completion.
Accessors and Mutators: Methods allowing controlled access to private instance variables, often named getX
for access and setX
for modification.
Mutators can impose restrictions, ensuring valid state for the object.
Die Class:
Represents a die with attributes and methods to manipulate its state (e.g., roll
method).
Account Class:
Manages bank account operations: deposit, withdraw, and add interest.
Demonstrates encapsulation, using private variables and public methods for operations.
Driver Programs: These display or test functionality of classes, such as Transactions
that manages multiple Account
objects.
Created using controls, events, and event handlers:
Controls: Elements like buttons and text fields interact with users.
Events: Represent user actions (e.g., clicking a button).
Event Handlers: Methods that respond to events, modified to handle specific outcomes based on user interactions.
Layouts: JavaFX provides different layout options for arranging controls (e.g., StackPane
, GridPane
).
The Arc
class represents a segment of an ellipse with params for center, radius, start angle, and arc length.
Demonstrates dynamic visualizations using JavaFX.
Special methods for initializing object state, sharing the name with the class, and having no return type.
Instance data: Variable scoped to the class, permitting multi-instance data retention (e.g., faceValue
in Die
).
Local data: Exists only within the method context and is discarded after execution.
Unified Modeling Language (UML) diagrams illustrate class structures, relationships, and attributes, serving as visual documents for class design.
Writing classes: class definitions, instance data, encapsulation, Java modifiers, method declarations, parameter passing, constructors, and GUI elements including events and event handlers.