Sunday, August 10, 2014

JAVA OOP Concepts Demo - Association & Inheritance Relationships and Static Variables & Methods

public class Person {
   private String name;
   private int age;
   private static int counter = 0;

   public Person() {
      counter++;
   }

   public Person(String name, int age) {
       this.name = name;
       this.age = age;
       counter++;
   }

   public static int getCounter() {
       return counter;

   }
   public String getName() {
       return name;
   }

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

   public void setAge(int age) {
       this.age = age;
   }

   public int getAge() {
       return age;
   }

   public void showInfo() {
       System.out.println("Name : " + name);
       System.out.println("Age  : " + age);
   }
}

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

public class Student extends Person {
   private String idno;
   private String course;
   private Subject subject;

   public Student() {

   }
   public Student(String idno, String name, String course, int age, Subject subject) {
       super(name, age);
       this.idno = idno;
       this.course = course;
       this.subject = subject;
   }

   public void setSubject(Subject subject) {
       this.subject = subject;
   }

   public Subject getSubject() {
       return subject;
   }

   public void setIdno(String idno) {
       this.idno = idno;
   }



   public void setCourse(String course) {
       this.course = course;
   }

   public String getIdno() {
       return idno;
   }

   public String getCourse() {
       return course;
   }

   public void showInfo() {
       System.out.println("Idno : " + idno);
       super.showInfo();  
       System.out.println("Course : " + course);
       subject.showInfo();
   }
}


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

public class Subject {

    private String subjcode;
    private String subjdesc;
    private double units;

    public Subject() {
    }

    public Subject(String subjcode, String subjdesc, double units) {
        this.subjcode = subjcode;
        this.subjdesc = subjdesc;
        this.units = units;
    }

    public void setSubjcode(String subjcode) {
        this.subjcode = subjcode;
    }

    public void setSubjdesc(String subjdesc) {
        this.subjdesc = subjdesc;
    }

    public void setUnits(double units) {
        this.units = units;
    }

    public String getSubjCode() {
        return subjcode;
    }

    public String getSubjDesc() {
        return subjdesc;
    }

    public double getUnits() {
        return units;
    }

    public void showInfo() {
        System.out.println("Subject code        : " + subjcode);
        System.out.println("Subject description : " + subjdesc);
        System.out.println("Units               : " + units);
    }
}
-----------------------------------------------------------------------------------------------------------

import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
       Scanner kb = new Scanner(System.in);
       Student student1 = new Student();
       Person p = new Person();
       Subject cs207 = new Subject();
       Subject math1 = new Subject("Math 1", "Algebra", 3);
       Student student2 = new Student("34342", "Calvin","CS",20,cs207);

        System.out.println("The number of person is " + Person.getCounter());

        System.out.println("Enter idno : ");
        student1.setIdno(kb.nextLine());
        System.out.println("Enter name : ");
        student1.setName(kb.nextLine());
        System.out.println("Enter Age : ");
        student1.setAge(kb.nextLine());
        System.out.println("Enter course : ");
        student1.setCourse(kb.nextLine());     


       student1.setSubject(math1);

       cs207.setSubjcode("CS207");
       cs207.setSubjdesc("Object Oriented Programing");
       cs207.setUnits(3);

       student1.showInfo();
       student2.showInfo();
    }
}

No comments:

Post a Comment