Abstract Class, Packages and interface from Chapter 9 - PowerPoint PPT Presentation

Loading...

PPT – Abstract Class, Packages and interface from Chapter 9 PowerPoint presentation | free to download - id: 89b12-ZDc1Z



Loading


The Adobe Flash plugin is needed to view this content

Get the plugin now

View by Category
About This Presentation
Title:

Abstract Class, Packages and interface from Chapter 9

Description:

Abstract Classes ... declares the structure of a abstraction with a complete implementation of every method. ... main purpose of an abstract class is to define ... – PowerPoint PPT presentation

Number of Views:81
Avg rating:3.0/5.0
Slides: 31
Provided by: penti
Category:

less

Write a Comment
User Comments (0)
Transcript and Presenter's Notes

Title: Abstract Class, Packages and interface from Chapter 9


1
Abstract Class, Packages and interface from
Chapter 9
  • Lecture 10

2
Review
  • Abstract classes
  • Using final with inheritance
  • Packages
  • Access protection
  • Importing packages

3
Abstract Classes
  • Sometimes, we want to define a superclass that
    declares the structure of a abstraction with a
    complete implementation of every method.
  • That is, we want to create a superclass that only
    defines a generalised form that will be shared by
    all of its subclasses.

4
More about Abstract Classes
  • The main purpose of an abstract class is to
    define a common interface for it's subclasses to
    which some or all implementation is deferred.
  • Abstract classes may be used in designing a
    family of related subclasses. The general form
    is
  • abstract type name (parameter-list)

5
Example of Abstract
  • In an object-oriented drawing application, we can
    draw circles, lines, squares, and so on.
  • Each of these graphic objects share certain
    states (position), and behavior (move, draw).
  • You can take advantage of these similarities and
    declare them all to inherit from the same parent
    Graphic Object.

Graphic Object
circles
lines
square
6
Example of Graphic Object
  • abstract class GraphicObject
  • int x, y
  • . . .
  • void moveTo(int newX, int newY)
  • . . .
  • abstract void draw()
  • . . .
  • class circle extends GraphicObject
  • void draw()
  • . . .

7
Example page 217
8
Explanation
  • In object-oriented programming, we want to model
    an abstract concept without being able to create
    an instance of it.
  • Here, class A defines an abstract class callme()
    This class also supports a concrete method
    callme1().
  • callme() is implemented in Class B.

9
Final
  • Final with inheritance has three uses.
  • First, it can be used to create the equivalent of
    a named constant
  • Secondly, to apply final to prevent overriding
  • Thirdly, to use final to prevent inheritance

10
Using final to prevent overriding
  • Overriding is one of javas most powerful
    features, there will be times when we will want
    to prevent it from occurring.
  • To disallow a method from being overridden, we
    specify final as a modifier at the start of its
    declaration.

11
Example with a compilation error
Because show() is declared as final, it cannot be
overridden.
error
12
Using final to prevent inheritance
  • Sometimes, we want to prevent a class from being
    inherited.
  • To do this, we can precede the class declaration
    with final.
  • Declaring a class as final implies that all of
    its methods as final.

13
Example with a compilation error
error
14
Package
  • Packages are one of the basic components of a
    Java Program. In general, a Java source can
    contain any of the following
  • A single package statement
  • Any number of import statements
  • A single public class declaration
  • Any number of classes private to the package

15
Create a package
  • To create a package is easy.
  • The user simply includes a package command as the
    first statement in a Java source file.
  • The package statement defines a name space in
    which classes are package, which has no name. The
    format is
  • package pkg

Name of the package (directory), not class
16
Package Hierarchy
  • The package hierarch is
  • package java.awt.image
  • It access the package in java/awt/image

directory
17
Example (1)
  • Make a directory called YourPackage under your
    current directory
  • mkdir YourPackage
  • Use a notepad to create a file as follows and
    put it under the directory of YourPackage

18
Example (2)
  • Compile it

use notepad to create another one
YourPackage
19
Example (3)
input 4, output 44 16
20
More Example (1)
  • Create a file on left-hand side.
  • Put it into a directory called Mypack
  • Compile it

21
More Example (2)
The Class Path
22
Access Protection
  • In Java, there are at least three control
    mechanism.
  • private, public and protected
  • Package adds another dimension to access control.
  • Java provides many levels of protection over the
    visibility of variables and methods within
    classes, subclasses and packages

23
Importing Packages
  • Java includes the import statement to bring
    certain classes or entire packages into
    visibility.
  • Once imported, a class can be referred to
    directly, using only its name. The format is
  • import pkg1.pkg2(classname)

24
Examples of Importing Packages
  • import java.util.Date
  • (import Date Package undre java, utility)
  • import java.io.
  • (import IO packages under java)

25
Example (1)
Your Class is created under YourPackage
26
Example (2)
  • Create a file using import YourPackage. (it will
    import any classes under this directory)

27
Your Class under YourPackage
28
More Example
class add
29
More Example - Explanation
  • Create a add class which has add and sub methods
  • Create a lecture108 and import the add class
  • Pass the value from agrs0 and pass to add class
    to perform add and sub.

Here, the add class consists of add() and sub()
method
30
Summary
  • Abstract classes used as a family
  • Using final with inheritance the last method
  • Packages create class path
  • Access protection private, public protect
    (Packages)
  • Importing packages import other classes
About PowerShow.com