0% found this document useful (0 votes)
14 views5 pages

Java Classes for Job, Shapes, and Marks

The document contains Java code that defines various classes including Job, SoftwareDeveloper, Triangle, Circle, and several abstract classes. It demonstrates inheritance, method overriding, and the use of abstract methods in a structured manner. The main class tests the functionality of these classes, showcasing salary calculations, geometric area computations, and bank balance retrievals.

Uploaded by

cosmic.sus.73
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
14 views5 pages

Java Classes for Job, Shapes, and Marks

The document contains Java code that defines various classes including Job, SoftwareDeveloper, Triangle, Circle, and several abstract classes. It demonstrates inheritance, method overriding, and the use of abstract methods in a structured manner. The main class tests the functionality of these classes, showcasing salary calculations, geometric area computations, and bank balance retrievals.

Uploaded by

cosmic.sus.73
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

// 1.

Job and SoftwareDeveloper classes


import [Link];

class Job {
protected double salary;
protected int yearsOfExperience;
protected String jobPosition;
protected String companyName;

public Job(double salary, int yearsOfExperience, String jobPosition, String


companyName) {
[Link] = salary;
[Link] = yearsOfExperience;
[Link] = jobPosition;
[Link] = companyName;
}

public void getSalary() {


[Link]("Salary: $" + salary);
}

public void displaySummaryDetails() {


[Link]("Position: " + jobPosition + "\nCompany: " + companyName +
"\nExperience: " + yearsOfExperience + " years\nSalary: $" + salary);
}
}

class SoftwareDeveloper extends Job {


public SoftwareDeveloper(double salary, int yearsOfExperience, String jobPosition,
String companyName) {
super(salary, yearsOfExperience, jobPosition, companyName);
}

@Override
public void getSalary() {
if (yearsOfExperience > 3) {
salary *= 1.3;
} else {
salary *= 1.05;
}
[Link]("Updated Salary: $" + salary);
}
}

// 2. Triangle class
class Triangle {
private int a, b, c;

public Triangle() {
this.a = 3;
this.b = 4;
this.c = 5;
}
public void calculate() {
int perimeter = a + b + c;
double s = perimeter / 2.0;
double area = [Link](s * (s - a) * (s - b) * (s - c));
[Link]("Area: " + area + ", Perimeter: " + perimeter);
}
}

// 3. Circle class
class Circle {
private double radius;
private final double PI = 3.1416;

public Circle() {
[Link] = 5;
}

public void setRadius(double radius) {


[Link] = radius;
}

public void calculateCircumference() {


[Link]("Circumference: " + (2 * PI * radius));
}
}

// 4. Abstract Parent class


abstract class Parent {
abstract void message();
}

class Subclass1 extends Parent {


void message() {
[Link]("This is the first subclass");
}
}

class Subclass2 extends Parent {


void message() {
[Link]("This is the second subclass");
}
}

// 5. Abstract Bank class


abstract class Bank {
abstract int getBalance();
}

class BankA extends Bank {


int getBalance() { return 100; }
}

class BankB extends Bank {


int getBalance() { return 150; }
}

class BankC extends Bank {


int getBalance() { return 200; }
}

// 6. Abstract Marks class


abstract class Marks {
abstract double getPercentage();
}

class A extends Marks {


private int m1, m2, m3;
public A(int m1, int m2, int m3) {
this.m1 = m1; this.m2 = m2; this.m3 = m3;
}
double getPercentage() { return (m1 + m2 + m3) / 3.0; }
}

class B extends Marks {


private int m1, m2, m3, m4;
public B(int m1, int m2, int m3, int m4) {
this.m1 = m1; this.m2 = m2; this.m3 = m3; this.m4 = m4;
}
double getPercentage() { return (m1 + m2 + m3 + m4) / 4.0; }
}

// 7. Abstract class with constructor


abstract class AbstractClass {
AbstractClass() { [Link]("This is the constructor of the abstract
class"); }
abstract void a_method();
void normalMethod() { [Link]("This is the normal method of the abstract
class"); }
}

class SubClass extends AbstractClass {


void a_method() { [Link]("This is an abstract method"); }
}

// 8. Shape class with multiple areas


abstract class Shape {
abstract void RectangleArea(double length, double breadth);
abstract void SquareArea(double side);
abstract void CircleArea(double radius);
}

class Area extends Shape {


void RectangleArea(double length, double breadth) {
[Link]("Rectangle Area: " + (length * breadth));
}
void SquareArea(double side) {
[Link]("Square Area: " + (side * side));
}
void CircleArea(double radius) {
[Link]("Circle Area: " + (3.1416 * radius * radius));
}
}

// Main class to test all implementations


public class Main {
public static void main(String[] args) {
// SoftwareDeveloper Instances
SoftwareDeveloper dev1 = new SoftwareDeveloper(50000, 2, "Junior Developer",
"TechCorp");
SoftwareDeveloper dev2 = new SoftwareDeveloper(80000, 5, "Senior Developer",
"InnoSoft");
SoftwareDeveloper dev3 = new SoftwareDeveloper(60000, 3, "Mid-Level Developer",
"CodeWorld");

[Link]();
[Link]();
[Link]();

// Triangle calculations
Triangle tri = new Triangle();
[Link]();

// Circle calculations
Circle circle1 = new Circle();
[Link]();

Circle circle2 = new Circle();


[Link](10);
[Link]();

// Abstract class usage


Parent p1 = new Subclass1();
Parent p2 = new Subclass2();
[Link]();
[Link]();

// Bank balances
Bank b1 = new BankA();
Bank b2 = new BankB();
Bank b3 = new BankC();
[Link]("Bank A Balance: $" + [Link]());
[Link]("Bank B Balance: $" + [Link]());
[Link]("Bank C Balance: $" + [Link]());

// Marks calculation
A studentA = new A(85, 90, 88);
B studentB = new B(75, 80, 78, 85);
[Link]("Student A Percentage: " + [Link]() + "%");
[Link]("Student B Percentage: " + [Link]() + "%");

// Abstract class with constructor


SubClass obj = new SubClass();
obj.a_method();
[Link]();

// Shape area calculations


Area areaObj = new Area();
[Link](10, 5);
[Link](4);
[Link](7);
}
}

You might also like