Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
42 views

Hierarchical Inheritance

The document discusses code for a library management system using hierarchical inheritance in Java. It includes: 1) A parent LibraryItem class with fields for title, year, and author and methods to display this information. 2) Two child classes Book and Journal that inherit from LibraryItem. Book adds a pageCount field and Journal adds a publisher field. 3) A main method that creates Book and Journal objects, sets their fields, and calls displayInfo() to output the object information. 4) Tasks to modify the code to add details for 10 books and write/read data from a file by getting user input and displaying it.

Uploaded by

ashrithreddy160
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
42 views

Hierarchical Inheritance

The document discusses code for a library management system using hierarchical inheritance in Java. It includes: 1) A parent LibraryItem class with fields for title, year, and author and methods to display this information. 2) Two child classes Book and Journal that inherit from LibraryItem. Book adds a pageCount field and Journal adds a publisher field. 3) A main method that creates Book and Journal objects, sets their fields, and calls displayInfo() to output the object information. 4) Tasks to modify the code to add details for 10 books and write/read data from a file by getting user input and displaying it.

Uploaded by

ashrithreddy160
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 6

14-3-2024

Task 1 : Hierarchical inheritance-based Java code for a library management


// Parent class
class LibraryItem {
protected String title;
protected int year;
protected String author;

public LibraryItem(String title, int year, String author) {


// assign the value to class fields
}

public void displayInfo() {


// write code for display title,year, author
}
}

// Child class inheriting from LibraryItem


class Book extends LibraryItem {
private int pageCount;

public Book(String title, int year, String author, int pageCount) {


super(fill this field);
this.pageCount = pageCount;
}

public void displayInfo() {


super.displayInfo();
System.out.println("Page Count: " + pageCount);
}
}

// Child class inheriting from LibraryItem


class Journal extends LibraryItem {
private String publisher;

public Journal(String title, int year, String author, String publisher) {


super(title, year, author);
this.publisher = publisher;
}

public void displayInfo() {


super.displayInfo();
System.out.println("Publisher: " + publisher);
}
}

// Main class
public class LibraryManagementSystem {
public static void main(String[] args) {
Book book = new Book("Java Programming", 2020, "John Smith", 500);
Journal journal = new Journal("Science Journal", 2021, "Scientific Society", "Science Press");

System.out.println("Book Information:");
book.displayInfo();
System.out.println();

System.out.println("Journal Information:");
journal.displayInfo();
}
}

Task :: modify the code by adding 10 different books details and display it

Task 2 write content into the file using FileWriter

import java.io.FileWriter;
import java.io.IOException;

public class WriteToFileExample {


public static void main(String[] args) throws IOException
//throws IOException {
String content = "Hello, world! This is a sample text to write to a file.";

// Specify the file path


String filePath = "output.txt";

// Write content to file


FileWriter writer = new FileWriter(filePath);
writer.write(content);
writer.close();
System.out.println("Data has been written to " + filePath);
}
}

Modify the code such a way that user can enter the text from the console window and display it.

Note : “throws IOException” this part I will explain in the class . for the time being type as it is. It
is basically used for handling error

Task 3 reading data from a file

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;

public class ReadFromFileExample {


public static void main(String[] args) throws IOException {
// Specify the file path
String filePath = "output.txt";
// Read content from file
FileReader fileReader = new FileReader(filePath);
BufferedReader bufferedReader = new BufferedReader(fileReader);

String line;
while ((line = bufferedReader.readLine()) != null) {
System.out.println(line);
}

bufferedReader.close();
}
}

End of today’s lab task


----------------------------------------------------------------------------------------------------------------------------------

Warm-up questions

 Explain the concept of method nesting in Java and analyze its role in enhancing code
structure and readability. Include examples to support your discussion.

 Explain nesting of methods in java

class nesting{
int x,y;
nesting(int a, int b)
{
x=a;
y=b;
}
int large()
{
if(x>=y)
return (x);
else
return (y);
}

void display()
{
int lar=large();
System.out.println("result="+lar);
}
};
class myclass1
{
public static void main(String[] args) {
nesting n=new nesting(40,30);
n.display();
}
}

Precvious class code


Just for your understanding how we can access a private variable in another class

// Superclass with a private variable


class Superclass {
private int privateVariable;

public Superclass(int privateVariable) {


this.privateVariable = privateVariable;
}

public void display() {


System.out.println("Private variable in superclass: " + privateVariable);
}

// Getter method to access the private variable


public int getPrivateVariable() {
return privateVariable;
}

// Setter method to modify the private variable


public void setPrivateVariable(int privateVariable) {
this.privateVariable = privateVariable;
}
}

// Subclass extending the superclass


class Subclass extends Superclass {
public Subclass(int privateVariable) {
super(privateVariable);
}

public void displayFromSubclass() {


// Now accessing privateVariable through getter method
System.out.println("Private variable in subclass: " + getPrivateVariable());
}
}

public class Main {


public static void main(String[] args) {
Subclass obj = new Subclass(10);
obj.display(); // This will print "Private variable in superclass: 10"
obj.displayFromSubclass(); // This will print "Private variable in subclass: 10"
}
}

Class model for library management as part of your project , just to understand how many classes
and its hierarchy

You might also like