2 Week3 Java Subclasses
2 Week3 Java Subclasses
Madhavan Mukund
https://www.cmi.ac.in/~madhavan
// "mutator" methods
public boolean setName(String s){ ... }
public boolean setSalary(double x){ ... }
// "accessor" methods
public String getName(){ ... }
public double getSalary(){ ... }
// other methods
public double bonus(float percent){
return (percent/100.0)*salary;
}
}
Madhavan Mukund Subclasses and inheritance Programming Concepts using Java 2/6
A Java class
public class Employee{
An Employee class private String name;
private double salary;
Two private instance variables
// Some Constructors ...
// "mutator" methods
public boolean setName(String s){ ... }
public boolean setSalary(double x){ ... }
// "accessor" methods
public String getName(){ ... }
public double getSalary(){ ... }
// other methods
public double bonus(float percent){
return (percent/100.0)*salary;
}
}
Madhavan Mukund Subclasses and inheritance Programming Concepts using Java 2/6
A Java class
public class Employee{
An Employee class private String name;
private double salary;
Two private instance variables
// Some Constructors ...
Some constructors to set up the
// "mutator" methods
object public boolean setName(String s){ ... }
public boolean setSalary(double x){ ... }
// "accessor" methods
public String getName(){ ... }
public double getSalary(){ ... }
// other methods
public double bonus(float percent){
return (percent/100.0)*salary;
}
}
Madhavan Mukund Subclasses and inheritance Programming Concepts using Java 2/6
A Java class
public class Employee{
An Employee class private String name;
private double salary;
Two private instance variables
// Some Constructors ...
Some constructors to set up the
// "mutator" methods
object public boolean setName(String s){ ... }
public boolean setSalary(double x){ ... }
Accessor and mutator methods to set
instance variables // "accessor" methods
public String getName(){ ... }
public double getSalary(){ ... }
// other methods
public double bonus(float percent){
return (percent/100.0)*salary;
}
}
Madhavan Mukund Subclasses and inheritance Programming Concepts using Java 2/6
A Java class
public class Employee{
An Employee class private String name;
private double salary;
Two private instance variables
// Some Constructors ...
Some constructors to set up the
// "mutator" methods
object public boolean setName(String s){ ... }
public boolean setSalary(double x){ ... }
Accessor and mutator methods to set
instance variables // "accessor" methods
public String getName(){ ... }
A public method to compute bonus public double getSalary(){ ... }
// other methods
public double bonus(float percent){
return (percent/100.0)*salary;
}
}
Madhavan Mukund Subclasses and inheritance Programming Concepts using Java 2/6
Subclasses
Madhavan Mukund Subclasses and inheritance Programming Concepts using Java 3/6
Subclasses
Madhavan Mukund Subclasses and inheritance Programming Concepts using Java 3/6
Subclasses
Madhavan Mukund Subclasses and inheritance Programming Concepts using Java 3/6
Subclasses
Manager objects do not
automatically have access to private
data of parent class.
Common to extend a parent class
written by someone else
Madhavan Mukund Subclasses and inheritance Programming Concepts using Java 4/6
Subclasses
Manager objects do not
automatically have access to private
data of parent class.
Common to extend a parent class
written by someone else
Madhavan Mukund Subclasses and inheritance Programming Concepts using Java 4/6
Subclasses
Manager objects do not public class Employee{
automatically have access to private ...
public Employee(String n, double s){
data of parent class. name = n; salary = s;
Common to extend a parent class }
written by someone else public Employee(String n){
this(n,500.00);
How can a constructor for Manager }
set instance variables that are private }
to Employee?
Some constructors for Employee
Madhavan Mukund Subclasses and inheritance Programming Concepts using Java 4/6
Subclasses
Manager objects do not public class Employee{
automatically have access to private ...
public Employee(String n, double s){
data of parent class. name = n; salary = s;
Common to extend a parent class }
written by someone else public Employee(String n){
this(n,500.00);
How can a constructor for Manager }
set instance variables that are private }
to Employee?
Some constructors for Employee
Use parent class’s constructor using
super
Madhavan Mukund Subclasses and inheritance Programming Concepts using Java 4/6
Subclasses
Manager objects do not public class Employee{
automatically have access to private ...
public Employee(String n, double s){
data of parent class. name = n; salary = s;
Common to extend a parent class }
written by someone else public Employee(String n){
this(n,500.00);
How can a constructor for Manager }
set instance variables that are private }
to Employee?
public class Manager extends Employee{
Some constructors for Employee ..
public Manager(String n, double s, String sn){
Use parent class’s constructor using super(n,s); /* super calls
super Employee constructor */
secretary = sn;
A constructor for Manager }
}
Madhavan Mukund Subclasses and inheritance Programming Concepts using Java 4/6
Inheritance
Madhavan Mukund Subclasses and inheritance Programming Concepts using Java 5/6
Inheritance
Madhavan Mukund Subclasses and inheritance Programming Concepts using Java 5/6
Inheritance
Madhavan Mukund Subclasses and inheritance Programming Concepts using Java 5/6
Inheritance
Madhavan Mukund Subclasses and inheritance Programming Concepts using Java 5/6
Inheritance
Madhavan Mukund Subclasses and inheritance Programming Concepts using Java 5/6
Inheritance
Madhavan Mukund Subclasses and inheritance Programming Concepts using Java 5/6
Summary
Madhavan Mukund Subclasses and inheritance Programming Concepts using Java 6/6