Skip to content

Commit

Permalink
Merge pull request #1 from TharinduDilshan/Tharindu
Browse files Browse the repository at this point in the history
Added Abstraction and Encapsulation
  • Loading branch information
TharinduDilshan authored Oct 19, 2021
2 parents 45354bd + fbc50f6 commit d83d948
Show file tree
Hide file tree
Showing 6 changed files with 160 additions and 0 deletions.
44 changes: 44 additions & 0 deletions Java/OOP/Abstraction/Person.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
package Inheritance;

public abstract class Person {
private String firstName;
private String lastName;
private String address;

public Person() {
super();
}

public Person(String firstName, String lastName, String address) {
this.firstName = firstName;
this.lastName = lastName;
this.address = address;
}

public String getFirstName() {
return firstName;
}

public void setFirstName(String firstName) {
this.firstName = firstName;
}

public String getLastName() {
return lastName;
}

public void setLastName(String lastName) {
this.lastName = lastName;
}

public String getAddress() {
return address;
}

public void setAddress(String address) {
this.address = address;
}

public abstract String print();

}
38 changes: 38 additions & 0 deletions Java/OOP/Abstraction/Student.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
package Inheritance;

public class Student extends Person {
private String ownerName;
private boolean isAtHostel;

public Student(String ownerName, boolean isAtHostel) {
this.ownerName = ownerName;
this.isAtHostel = isAtHostel;
}

public Student(String firstName, String lastName, String address, String ownerName, boolean isAtHostel) {
super(firstName, lastName, address);
this.ownerName = ownerName;
this.isAtHostel = isAtHostel;
}

public String getOwnerName() {
return ownerName;
}

public void setOwnerName(String ownerName) {
this.ownerName = ownerName;
}

public boolean isAtHostel() {
return isAtHostel;
}

public void setAtHostel(boolean atHostel) {
isAtHostel = atHostel;
}

@Override
public String print() {
return "Dear Teacher, my father is "+ ownerName+".";
}
}
27 changes: 27 additions & 0 deletions Java/OOP/Abstraction/Teacher.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
package Inheritance;

public class Teacher extends Person {
private String subject;

public Teacher(String subject) {
this.subject = subject;
}

public Teacher(String firstName, String lastName, String address, String subject) {
super(firstName, lastName, address);
this.subject = subject;
}

public String getSubject() {
return subject;
}

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

@Override
public String print() {
return "Dear Students, I am your "+ subject+ " teacher.";
}
}
16 changes: 16 additions & 0 deletions Java/OOP/Abstraction/Test.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
package Inheritance;

public class Test {
public void main(String[] args){
Person teacher1 = new Teacher("John", "Tarbet", "Sri Lanka", "Science");
Person teacher2 = new Teacher("Ann", "Tarbet", "Australia", "Maths");

Person student1 = new Student("Nimal", "Jackson", "Sri Lanka", "Mason", true);
Person student2 = new Student("Kamal", "Jackson", "Australia", "Avery", false);

System.out.println(teacher1.print());
System.out.println(teacher2.print());
System.out.println(student1.print());
System.out.println(student2.print());
}
}
23 changes: 23 additions & 0 deletions Java/OOP/Encapsulation/Student.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
package Encapsulation;

public class Student{
//private data member
private String name;

public Student() {
super();
}

public Student(String name) {
this.name = name;
}

//getter method for name
public String getName(){
return name;
}
//setter method for name
public void setName(String name){
this.name=name;
}
}
12 changes: 12 additions & 0 deletions Java/OOP/Encapsulation/Test.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
package Encapsulation;

public class Test{
public static void main(String[] args){
//creating instance of the encapsulated class
Student s=new Student();
//setting value in the name member
s.setName("Tharindu");
//getting value of the name member
System.out.println(s.getName());
}
}

0 comments on commit d83d948

Please sign in to comment.