Tuesday, 11 August 2015

Java Tutorial : What is a Class[Bird]?

🚀 Want to Master Core Java & OOP Concepts?

Subscribe to Ram N Java for beginner-friendly coding tutorials and practical guides!

🔔 Subscribe to YouTube Channel

Java Class Basics: Creating and Using the Bird Class

In Java Object-Oriented Programming (OOP), real-world entities are modeled by bundling their attributes into instance variables and their actions into methods. Building a Bird class is another practical example that shows how easy it is to translate physical characteristics—like feathers, wingspan, species, and flight behaviors—into clean, modular Java code.

1. Modeling the Bird Entity: State and Behavior

When creating any Java class based on real-world objects, identify the key characteristics:

  • State (Attributes): The data describing a bird, such as name, color, canSwim, avgLifeTime, and weight.
  • Behavior (Actions): The operations a bird performs, such as fly() and walk().
  • Class Blueprint: The Bird class acts as the single template defining these properties, while individual birds (like a sparrow or penguin) are created as separate objects in heap memory.

2. Encapsulation and Data Protection

Proper object-oriented design prioritizes encapsulation:

  • Private Fields: Declare properties with the private access modifier so external classes cannot directly alter the internal state without validation.
  • Getters and Setters: Expose standard public accessor and mutator methods to safely inspect and update each bird's properties.
  • Controlled Manipulation: Methods can enforce business logic, ensuring values like age or flight speed remain valid.

3. Instantiating and Interacting with Bird Objects

Using the class blueprint involves three simple steps:

  • Allocation: Use the new keyword to instantiate a bird object (e.g., Bird sparrowBird = new Bird();).
  • State Initialization: Use setter methods to configure properties unique to that specific bird instance.
  • Execution: Invoke member methods using the dot operator (e.g., sparrowBird.fly("Can fly 46km/h");) to execute the desired actions.

4. Best Practices for Object Modeling

Keep these tips in mind as you build object-oriented Java programs:

  • Keep classes cohesive: focus only on properties and behaviors relevant to the entity being modeled.
  • Use clear, self-explanatory names for instance variables and methods.
  • Structure your demo or runner code into separate driver classes (like BirdDemo) to keep executable logic separate from data models.

📺 Explore More Java Tutorials

Continue expanding your Java and OOP knowledge with these related tutorials from our channel:


Click here to watch on YouTube:
https://www.youtube.com/watch?v=usT_5sYVFbw&list=UUhwKlOVR041tngjerWxVccw

Click the below Image to Enlarge:

Java Tutorial : What is a Class[Bird]?
Java Tutorial : What is a Class[Bird]?

Bird.java

/**
 * Bird class is the blueprint from which individual bird objects can be
 * created.
 */
public class Bird
{
    private String name;
    private String color;
    private String canSwim;
    private String avgLifeTime;
    private String weight;

    public String getName()
    {
        return name;
    }

    public void setName(String name)
    {
        this.name = name;
    }

    public String getColor()
    {
        return color;
    }

    public void setColor(String color)
    {
        this.color = color;
    }

    public String getCanSwim()
    {
        return canSwim;
    }

    public void setCanSwim(String canSwim)
    {
        this.canSwim = canSwim;
    }

    public String getAvgLifeTime()
    {
        return avgLifeTime;
    }

    public void setAvgLifeTime(String avgLifeTime)
    {
        this.avgLifeTime = avgLifeTime;
    }

    public String getWeight()
    {
        return weight;
    }

    public void setWeight(String weight)
    {
        this.weight = weight;
    }

    public void fly(String string)
    {
        System.out.println(string);
    }

    public void walk(String string)
    {
        System.out.println(string);
    }

}

BirdDemo.java

public class BirdDemo
{
    public static void main(String[] args)
    {

        Bird sparrowBird = new Bird();
        sparrowBird.setName("Sparrow");
        sparrowBird.setColor("Brown");
        sparrowBird.setCanSwim("No");
        sparrowBird.setAvgLifeTime("3y");
        sparrowBird.setWeight("0.024kg");

        System.out.println("Characteristics");
        System.out.println("--------------");
        
        displayBirdInformation(sparrowBird);
        
        System.out.println("\nBehaviors");
        System.out.println("----------");
        
        sparrowBird.fly("Can fly 46km/h");
        sparrowBird.walk("Can walk 1km/h");
        
        System.out.println("*********************************************");
        
        Bird penguinBird = new Bird();
        penguinBird.setName("Penguin");
        penguinBird.setColor("White and Black");
        penguinBird.setCanSwim("Yes");
        penguinBird.setAvgLifeTime("20y");
        penguinBird.setWeight("15kg");

        System.out.println("Characteristics");
        System.out.println("-------------");
        
        displayBirdInformation(penguinBird);
        
        System.out.println("\nBehaviors");
        System.out.println("----------");
        
        penguinBird.fly("Cannot fly");
        penguinBird.walk("Can walk 3 to 4 km/h");

    }

    public static void displayBirdInformation(Bird bird)
    {
        System.out.println("Name : "+ bird.getName());
        System.out.println("Color : "+bird.getColor());
        System.out.println("Can Swim : "+bird.getCanSwim());
        System.out.println("Avg Life time : "+bird.getAvgLifeTime());
        System.out.println("Weight : "+bird.getWeight());
    }
}

Output

Characteristics
--------------
Name : Sparrow
Color : Brown
Can Swim : No
Avg Life time : 3y
Weight : 0.024kg

Behaviors
----------
Can fly 46km/h
Can walk 1km/h
*********************************************
Characteristics
-------------
Name : Penguin
Color : White and Black
Can Swim : Yes
Avg Life time : 20y
Weight : 15kg

Behaviors
----------
Cannot fly
Can walk 3 to 4 km/h

To Download BirdDemoStateAndMethods Project Click the below link:

https://sites.google.com/site/javaee4321/java/BirdDemoStateAndMethods.zip?attredirects=0&d=1

No comments:

Post a Comment

Tutorials