Transcript
Page 1: עיצוב תוכנה מונחה עצמים

עצמים מונחה תוכנה עיצוב1תירגול

Page 2: עיצוב תוכנה מונחה עצמים

1. Packages and Paths

2. Jar Files

Outline

Page 3: עיצוב תוכנה מונחה עצמים

Package rules: Each class belongs to a package Package may have sub-packages A package path is dot-separated foo.goo.Boo Class Boo, sub-package goo, package foo

Sub-packages has no special properties or privileges

Packages

Packages are the Java mechanism to prevent name collisionsbetween classes. java.util.List java.awt.List!

Page 4: עיצוב תוכנה מונחה עצמים

Package declaration

package foo.goo;class Boo {...}

Package (cont'd)

Importing classes from other packages

import fi.fy.Fum; // Just class Fumimport bar.baz.*; // All classes in bar.baz

Page 5: עיצוב תוכנה מונחה עצמים

When looking for a class, the JRE looks for a .class file indirectories that match the package path: Sub-package =Sub-directory.The root directory is the classpath.

Finding a Class

Find the class foo.goo.Boo in the directories tree+-classpath

|-...+-foo

|-...+-goo

|-X.class|-Y.class|-Boo.class

Page 6: עיצוב תוכנה מונחה עצמים

A classpath can contain several roots

Finding a Class (cont'd)

Finding foo.goo.Boo in classpath=A:B:CA

+-A +-fi +-fy |-Fum.class |-...

B

+-B |-... +-foo |-... +-goo |-X.class |-Y.class

C

+-C |-... +-foo |-... +-goo |-W.class |-Z.class |-Boo.class

Page 7: עיצוב תוכנה מונחה עצמים

Jar files are the Java equivalent to libraries and executables.A jar file is a zip archive that contains: .class files Other needed resources (images, config files) A manifest file (optional) Source files (optional)

Jar Files

Page 8: עיצוב תוכנה מונחה עצמים

The manifest file is a text file with key: value properties.The JRE reads these properties when it loads the .jar file.Important properties in a jar manifest Manifest-Version: For backward compatibility. Main-Class: The class containing the main method to run. Class-Path: Space-separated list of other class paths to

use.

Seehttp://java.sun.com/javase/6/docs/technotes/guides/jar/for details on jar and manifest specifications.

The Manifest File

Page 9: עיצוב תוכנה מונחה עצמים

Manifest.mf

Manifest-Version: 1.0Main-Class: a.b.c.FooClass-Path: mylib1.jar mylib2.jar

Manifest example

Page 10: עיצוב תוכנה מונחה עצמים

Jar files as Java executablesYou can run a jar file by running:java -jar jar-file(Or double-click on it, in some systems)The Java Runtime will load all the content of the jar, includingits classpath, and will run the main class that is written in themanifest.

Using Jar files

Jar files as Java shared librariesIncluding a jar file in a classpath will cause the JRE to lookin the archive for classes and resources, as if it was anotherdirectory.

Page 11: עיצוב תוכנה מונחה עצמים

Creating a jar file using the command-line tool:

jar cf <jar-file> <manifest-file> files . . .

Creating Jars


Recommended