class | | |
| |
| |
| |
| |
adds 0 or more variables to the variables it inherits from its superclass | |
adds 0 or more methods to the methods it inherits from its superclass | |
can access any public class in other packages | |
can be imported from a package | |
can extend only one superclass | |
can have a main method | |
can have instances | |
can have more than one constructor each of which has different sets of arguments | |
can have the same name as another class if the two classes are not in the same package and their packages are never imported into the same file | |
can implement more than one interface | |
can override methods that are inherited from the class's superclass | |
can protect its members from access by other classes or objects using an access modifier | |
cannot inherit method implementations from an interface | |
contains all of the code that relates to its objects including | |
contains data associated with each object | |
declares a list of variables, called instance variables, corresponding to data that will be present in each instance | |
defines | |
defines a class type whose instances are the values of the class type | |
has definition A software module that provides both procedural and data abstraction. It describes a set of similar objects, called its instances | |
has definition A blueprint (prototype) that defines (the variables and the methods) common to all objects of a certain kind | |
has definition A specification that defines variables and methods common to a set of all objects of a certain kind | |
has definition A template that describes the data and behaviour of its instances called objects | |
has | |
has 0 or more subclasses | |
has 1 superclass except Object class which has no superclass | |
has behaviour that is specified by its instance methods | |
has more specialized behaviour than a class farther up in the class hierarchy | |
has public interface which contains its public instance variables and instance methods | |
has benefit | |
has example public class HelloWorld { public static void main(String[] args) { System.out.println("Hello World!"); } } | |
has part class name | |
has part code | |
has part constructor | |
has syntax class classname { // declarations of variables // declarations of constructors // declarations of other methods with public ones first } | |
inherits 0 or more methods from its superclass | |
inherits 0 or more variables from its superclass | |
inherits behaviour from its superclass | |
is abstract if it has one or more abstract methods | |
is the unit of data abstraction in an object-oriented program | |
is a descendant of Object class | |
is a subtopic of Classes | |
is partitioned into abstract class, concrete class | |
is specified by 1 class definition | |
is a kind of access unit | |
is a kind of specification | |
may have access modifier | |
provides implementation for all its instance methods unless the class is abstract | |
represents several similar objects | |
should be a member of 1 named package rather than the default package | |
should be named after a thing its instances represent in the real world | |
should be placed in its own source file | |
should have a comment at the top describing the purpose of the class, how it should be used, its authors and its history of modification | |
should have a unique name since somebody in the future might want to import the packages containing both classes and hence create a name clash | |
should not be named after the internals of a computer system such as 'Record', 'Table', 'Data', 'Structure', or 'Information' | |
should order elements as follows: - class variables
- instance variables
- constructors
- the most important public methods
- methods that are simply used to access variables
- private methods
| |
to instantiate you create an instance of it | |
uses an implements clause to declare that it contains methods for each of the operations specified by the interface | |
access unit | has access mode | |
syntactic unit | has syntax rule bold = mandatory italic = non-terminal normal font = optional | |