1
COMP 250
Lecture 31
abstract classes, type conversion
- Nov. 23, 2016
abstract classes, type conversion Nov. 23, 2016 1 RECALL: - - PowerPoint PPT Presentation
COMP 250 Lecture 31 abstract classes, type conversion Nov. 23, 2016 1 RECALL: interfaces interface Shape float getArea() float getPerimeter() : implements implements class Rectangle class Circle Rectangle() { } Circle() {
1
float getArea() float getPerimeter()
:
Rectangle() { …} float getArea() { …. } float getArea() { …. } implements
Circle() { …} float getArea() { …. } float getArea() { …. } implements
2
3
A subclass can extend one superclass. A class can implement multiple interfaces. An interface can extend multiple interfaces.
extends extends implements
4
5
double getRadius() void setRadius(double) double getArea()
:
implements implements
double radius double getRadius(){ … } void setRadius(double){…} double getArea() { … }
same
double radius double getRadius() {…} void setRadius(double){…} double getArea(){….}
implements
6
7
double radius double getRadius() { return radius; } void setRadius(double r) { radius = r…} abstract double getArea()
:
extends extends
Circle( double radius){ … } double getArea() { … }
Sphere( double radius) { … } double getArea() { …. }
double length Cylinder (double radius, double len){ …} double getArea(){ … }
extends
8
9
10
11
double getArea() { return 0; }
:
Circle( double radius){ … } double getArea() { … }
Square( double width) { … } double getArea() { …}
Triangle(double height, double base){ …} double getArea(){ … }
extends extends extends
12
double getArea()
:
Circle( double radius){ … } double getArea() { … }
Square( double width) { … } double getArea() { …}
Triangle(double height, double base){ …} double getArea(){ … }
implements implements implements
13
14
https://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html In COMP 273, you will learn exactly how these number representations are related to each other. But you should have some intuitive ideas….
15
Wider usually (but not always) means more bytes.
number
16
17
extends
18
extends
19
20
21
22