Class Structure
Python |
Java |
Class definitions have
the general form class
<name>(<superclass name>): <class variables> <class methods> <instance methods> The parenthesized
superclass name is omitted for basic classes. Items within the class definition can appear in any order. Example: class Student: NUM_GRADES = 5 def __init__(self, name):
self.name = name
self.grades = []
for i in range(Student.NUM_GRADES):
self.grades.append(0) def getName(self): return self.name def getGrade(self, i):
return self.grades[i – 1] def setGrade(self, i,
newGrade):
self.grades[i - 1] = newGrade def __str__(self):
"""Format: Name on the first line and
all grades on the second line,
separated by spaces.
"""
result = self.name + '\n'
result += ''.join(map(str, self.grades))
return result Usage: s =
Student('Mary') for i in
range(1, Student.NUM_GRADES + 1) s.setGrade(i, 100) print s |
Class definitions have
the general form <visbility
modifier> class <name> extends <superclass name>
implements <list of names>{ <class variables> <class methods> <instance
variables> <instance methods> <inner classes> } Classes that do not
explicitly extend another class extend the Object class
by default. A class may
implement zero or more interfaces. Example: public class
Student{ public static final int
NUM_GRADES = 5; private String name; private int[] grades; public Student(String
name){
this.name = name;
this.grades = new int[NUM_GRADES]; } public String getName(){
return this.name; } public int getGrade(int
i){
return this.grades[i – 1]; } public void setGrade(int
i, int newGrade){
this.grades[i - 1] = newGrade; } public String toString(){
/*
Format: Name on the first line and
all grades on the second line,
separated by spaces.
*/
String result = this.name + '\n';
for (String grade : this.grades)
result += grade + ' ';
return result; } } Usage: Student s = new
Student("Mary"); for (int i = 1;
i <= Student.NUM_GRADES; i++) s.setGrade(i, 100); System.out.println(s); |