0% found this document useful (0 votes)
25 views52 pages

Object Oriented Software Development Using Java Principles Patterns and Frameworks 2nd Edition Xiaoping Jia. - PDF Download (2025)

The document is a PDF download link for the book 'Object Oriented Software Development Using Java: Principles, Patterns, and Frameworks' by Xiaoping Jia, 2nd Edition. It includes details about the book's content, structure, and various chapters covering topics like object-oriented modeling, Java programming, and design patterns. Additionally, it provides links to other related books on object-oriented software engineering and development using Java.

Uploaded by

gjdhzsklr4651
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
25 views52 pages

Object Oriented Software Development Using Java Principles Patterns and Frameworks 2nd Edition Xiaoping Jia. - PDF Download (2025)

The document is a PDF download link for the book 'Object Oriented Software Development Using Java: Principles, Patterns, and Frameworks' by Xiaoping Jia, 2nd Edition. It includes details about the book's content, structure, and various chapters covering topics like object-oriented modeling, Java programming, and design patterns. Additionally, it provides links to other related books on object-oriented software engineering and development using Java.

Uploaded by

gjdhzsklr4651
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 52

Object oriented software development using Java

principles patterns and frameworks 2nd Edition


Xiaoping Jia. - PDF Download (2025)

https://ebookultra.com/download/object-oriented-software-
development-using-java-principles-patterns-and-frameworks-2nd-
edition-xiaoping-jia/

Visit ebookultra.com today to download the complete set of


ebooks or textbooks
We believe these products will be a great fit for you. Click
the link to download now, or visit ebookultra.com
to discover even more!

Object Oriented Software Engineering Using UML Patterns


and Java 2nd Edition Bernd Bruegge

https://ebookultra.com/download/object-oriented-software-engineering-
using-uml-patterns-and-java-2nd-edition-bernd-bruegge/

Component Oriented Development and Assembly Paradigm


Principles and Practice using Java 1st Edition Piram
Manickam
https://ebookultra.com/download/component-oriented-development-and-
assembly-paradigm-principles-and-practice-using-java-1st-edition-
piram-manickam/

Foundations of Object Oriented Programming Using NET 2 0


Patterns 1st Edition Christian Gross (Auth.)

https://ebookultra.com/download/foundations-of-object-oriented-
programming-using-net-2-0-patterns-1st-edition-christian-gross-auth/

Object Oriented Software Engineering 7th Edition Stephen


Schach

https://ebookultra.com/download/object-oriented-software-
engineering-7th-edition-stephen-schach/
Object Oriented Design with UML and Java 1st Edition
Kenneth Barclay

https://ebookultra.com/download/object-oriented-design-with-uml-and-
java-1st-edition-kenneth-barclay/

Java the UML way integrating object oriented design and


programming Else Lervik

https://ebookultra.com/download/java-the-uml-way-integrating-object-
oriented-design-and-programming-else-lervik/

Applying UML and Patterns An Introduction To Object


Oriented Programming 2Ed Edition Larmen

https://ebookultra.com/download/applying-uml-and-patterns-an-
introduction-to-object-oriented-programming-2ed-edition-larmen/

Scientific Software Design The Object Oriented Way 1st


Edition Damian Rouson

https://ebookultra.com/download/scientific-software-design-the-object-
oriented-way-1st-edition-damian-rouson/

Design patterns explained a new perspective on object


oriented design 2. ed Edition Shalloway

https://ebookultra.com/download/design-patterns-explained-a-new-
perspective-on-object-oriented-design-2-ed-edition-shalloway/
Object oriented software development using Java
principles patterns and frameworks 2nd Edition Xiaoping
Jia. Digital Instant Download
Author(s): Xiaoping Jia.
ISBN(s): 9780201737332, 0201737337
Edition: 2
File Details: PDF, 91.39 MB
Year: 2003
Language: english
Obje_ct-O_rie_11te____ __._eRI_NcLeLEs__ _ _

Software Development PATTERNS, AND


U_sjng_Jaya:_ ME_W_QRJ{s_ _

Xiaoping Jia
DePaul University

~
.
Addison
WPsl<•y

Uo1Jto11 San Francisco New York


London Toronto Sydney Tokyo Singapore Madrid
MexJco City Munich Purlll Cnpc Town Hong Kong Montreal
Senior Acquisitions Editor Maite Suarez-Rivas
Project Editor Katherine Harutunian
Senior Production Supervisor Juliet Silveri
Production Services P. M. Gordon Associates, Inc.
Composition and Text Illustration Windfall Software, using ZzTe)(
Cover Design Supervisor Gina Hagen Kolenda
Cover Designer Jean Wilcox
Executive Marketing Manager Michael Hirsch
Print Buyer Caroline Fell

Cover image © 2002 by PhotoDisc.

Acces the latest information about Addison-Wesley titles from our World Wide Web site:
www.aw.com/cs

Many of the designations used by manufacturers and sellers to distinguish their products are
claimed as trademarks. Where those designations appear in this book, and Addison-Wesley
was aware of a trademark claim, the designations have been printed in initial caps or all caps.

Toe programs and applications presented in this book have been included for their instructional
value. They have been tested with care, but are not guaranteed for any particular purpose. The
publisher does not offer any warranties or representations, nor does it accept any liabilities
with respect to the programs or applications.

Credits: Figure 1.2: Kruchten, Rational Unified Process 2nd ed., Fig. 2.2 (p. 23), © 2000
Addi.son Wesley Longman Inc. Reprinted by permission of Pearson Education, Inc. Figure
3.1: Riggs et al, Programming Wireless Devices w/Java 2 Platform, Micro Edition, Fig. 2.1
(p. 8), © 2001 Sun Microsystems Inc. Reprinted by permission of Pearson Education, Inc.

Library of Congress Cataloging-in-Publication Data


Jia, Xiaoping.
Object-oriented software development using Java : principles, patterns, and frameworks
/ Xiaoping Jia-2nd ed.
p. cm.
lnclude-s bibliographical references and index.
lSB 0-201-73733-7
1. Object-oriented programming (Computer science) 2. Computer
softwar~Development. 3 . Java (Computer program language) I. Title.
QA76.64 J53 2003
005.13'3--0c21
2002032639

For information on obtaining permission for the use of material from this work, please submit
a wrinen request LO Pearson Education, Inc., Rights and Contracts Department, 75 Arlington
SL, Suite 300, Boston, MA 02116 or fax. your request to 617-848-7047.

Copyright © 2003 by Pearson Education, Inc.

All rights reserved. No part of this publication may be reproduced, stored in a retrieval system,
or transmitted, in any form or by any means, electronic, mechanical, photocopying, recording,
or otherwise, without the prior written permission of the publisher. Printed in the United States
of America.
2 3 4 5 6 7 8 9 10- HT-05 04 03
To Ai-Ling and Robin
B•,ZiiiiiH

Preface xv

CHAPTER 1 Object-Oriented Software Development 1


1.1 The Challenges of Software Development 2
1.2 An Engineering Perspective 4
1.2.1 Software Development Activities 4
1.2.2 Software Development Processes 5
1.2.3 Desirable Qualities of Software Systems 6
1.2.4 Is Software Development an Engineering Process? 8
1.3 Object Orientation 9
1.3.1 Modeling the Real World 9
1.3.2 Evolution of Programming Models 10
1.3.3 A Brief History 10
1.4 Iterative Development Processes 11
1.4.1 Object-Oriented Development Activities 12
1.4.2 Rational Unified Process 13
1.4.3 Extreme Programming 15
Chapter Summary 16
Further Readings 17
Exercises 18

CHAPTER 2 Object-Oriented Modeling Using UML


2.1 Principles and Concept 19
2.1.1 Object and Cla e 20
2.1 .2 Principle 26
2.2 Modeling Relation hip and Structure 29
2.2. l Inheritance 29
2.2.2 A ociation 32
2.2.3 Aggregation and Compo ition 34
2.2.4 Dependency 35
2.3 Modeling Dynanuc Behavior 36
viii • Contents

2.3.1 Sequence Diagram 36


2.3.2 State Diagram 37
2.4 Modeling Requirements with Use Cases 41
2.4.1 Tem1s and Concepts 41
2.4.2 Use Case Diagrams 42
2.5 Case Study: An E-Bookstore 44
2.5.1 Conceptualization 44
2.5.2 Use Cases 44
2.5.3 Object Models 46
Chapter Summary 51
Further Readings 52
Exercises 52

CHAPTER 3 Introduction to Java 55


3.1 An Overview of the Java 2 Platform 56
3.2 The Java Run-Time Architecture 59
3.2.1 Program Execution Models 60
3.2.2 Java Vrrtual Machine 61
3.3 Getting Started with Java 65
3.3. l A Simple Java Application 65
3.3.2 A Java Applet 67
Common Problems and Solutions 72
Chapter Summary 73
Further Readings 73
Exercises 74

CHAPTER 4 Elements of Java 75


4.1 Lexical Elements 76
4.1.1 Character Set 76
4.1.2 Identifiers 77
4.1.3 Primitive Types and Literals 77
4.1.4 Operators and Expressions 80
4.2 Variables and Types 87
4.2.J Variable Declarations 88
4.2.2 Type Compatibility and Conversion 88
4.2.3 Reference Types 89
4.2.4 Arrays 91
4.3 Statements 93
4.3.) Expres ion Statements 94
4.3.2 Statement Blocks 94
4.3.3 Local Variable Declarations 95
4.3.4 The return Statement 95
4.3.5 Selection Statements 96
Contents ■ ix

4.3.6 Loop Statements 96


4.3.7 The break and continue Statements 99
4.4 Class Declarations JO 1
4.4. l Syntax of Class Declarations 101
4.4.2 Creating and Initializing Objects 104
4.4.3 Accessing Fields and Methods I 06
4.4.4 Method Invocation and Parameter Passing 107
4.4.5 Class (Static) Fields and Methods 110
4.4.6 Object Reference this 114
4.4.7 Interfaces and Abstract Classes 117
4.4.8 Strings 118
4.4.9 Wrapper Classes 128
4.5 Packages 134
4.5.l Using Packages 135
4.5.2 Partitioning the Name Space 136
4.5.3 Packages and the Directory Structure 136
4.5.4 Organization of the Java Class Library 138
4.6 Exceptions 139
4.6.1 Sources of Exceptions 140
4.6.2 Hierarchy of Exceptions 140
4.6.3 Throwing Exceptions 143
4.6.4 Catching and Handling Exceptions 144
4.7 A Simple Animation Applet 148
Chapter Summary 155
Exercise 156
Project 157

CHAPTER 5 Classes and Inheritance 159


5.1 Overloading Methods and Corrtructor 159
5.2 Extending Cla e 163
5.2.1 Constructor· of Extended C la e 164
5.2.2 Subtype and Polymorphi m 165
5.2.3 Overriding Method 171
5.3 Extending and Implementing Interface 176
5.3. l Subtype RevLited 177
5.3.2 Single Ver u Multiple Inheritance 179
5.3.3 Name Colli ' ion among Interface 183
5.3.4 Marker Interfaces 184
5.4 Hidino0 Field · and Class Mel.hod · 14
5.5 Application - Animation Applets l 6
5.5. l Parameters of ppkts l 6
5.5.- An Idiom for Animation Applets 188
5.5.3 Double-Buffered Animation 193
5.5.4 Reading File · in Applet · 200
X ■ Contents

Common Problems and Solutions 202


Chapter Summary 202
Exercises 204
Projects 204

CHAPTER 6 From Building Blocks to Projects 207


6.1 Design and Implementation of Classes 207
6.1 .1 Public and Helper Classes 207
6.1.2 Class Members 209
6.1.3 Design Guidelines 209
6.1.4 Documenting the Source Code 214
6.2 Contracts and Invariants 216
6.2. l Contracts of Methods 216
6.2.2 Invaraints of Classes 222
6.2.3 Assertions 224
6.2.4 Design by Contract 226
6.3 The Canonical Form of Classes 227
6.3.1 No-Argument Constructor 228
6.3.2 Object Equality 228
6.3.3 Hash Code of Objects 230
6.3.4 Cloning Objects 231
63.5 String Representation of Objects 234
6.3.6 Serialization 234
6.4 Unit Testing 235
6.4.1 Simple Unit Testing 235
6.4.2 JUnit-A Unit-Testing Tool 239
6.4.3 Testing Coverage Criteria 241
6.5 Project Build 243
6.5.1 Ant-A Build Tool 243
Chapter Summary 246
Further Readings 247
Exercises 247

CHAPTER 7 Design by Abstraction 249


7.1 Design Patterns 249
7. l . l Design Pattern: Singleton 251
7.2 De igning Generic Components 252
7 .2.1 Refactoring 252
7 .2.2 Design Pattern: Template Method 266
7 .2.3 Generalizing 271
7.2.4 Design Pattern: Strategy 275
7.3 Abstract Coupling 276
7.3.1 Enumerating Elements 278
Contents • Xi

7.3.2 Design Pattern: Iterator 283


7.4 Design Case Study-Animation of Sorting Algorithms 284
7.4.l The Initial Implementation 285
7.4.2 Separating Algorithms 290
7.4.3 Design Pattern: Factory 296
7.4.4 Separating Display Strategies 296
Chapter Summary 302
Further Readings 304
Exercises 304
Project 304

CHAPTER 8 Object-Oriented Application Frameworks 305


8.1 Application Frameworks 305
8.1.1 Characteristics 306
8.1.2 Design Requirements 307
8.1.3 Specific Frameworks Considered 308
8.2 The Collections Framework 308
8.2.1 Abstract Collections 309
8.2.2 Interfaces of Collections 310
8.2.3 Implementations of Collections 315
8.2.4 Iterators of Collections 319
8.2.5 Ordering and Sorting 324
8.3 The Graphical User Interface Framework-AWT and Swing 333
8.3.1 The GUI Components 333
8.3.2 Design Pattern: Composite 336
8.3.3 Layout Managers 338
8.3.4 Handling Event 348
8.3.5 Frame and Dialogs 359
8.4 The Input/Output Framework 366
8.4.1 Byte Stream 367
8.4.2 Design Pattern: Decorator 380
8.4.3 Character Streams 382
8.4.4 Random Acces File 389
Chapter Summary 392
Further Reading 394
Exerci e 394
Projects 395

CHAPTER 9 Design Case Study: A Drawing Pad 397


9.1 Planning 97
9.2 Iteration l : A Simple Scribble Pad 398
9.2. l Th Scribbling Canvas and It Li tener 399
9.2.2 The Application 40-
Xii • Contents

9.3 Iteration 2: Menus, Options, and Files 403


9.3.l Strokes 403
9.3.2 The Scribble Canvas 405
9.3.3 The Canvas Listener 408
9.3.4 The Application 409
9.3.5 Choosing Colors 416
9.4 Iteration 3: Refactoring 421
9.4.l The Shapes 421
9.4.2 The Tools 424
9.4.3 Extending Components 428
9.5 Iteration 4: Adding Shapes and Tools 432
9.5.1 The Shapes 433
9.5.2 The Toolkit 436
9.5.3 Design Pattern: State 438
9.5.4 A Concrete Tool-TwoEndsTool 439
9.5.5 Extending Components 442
9.5.6 Design Pattern: Factory Method 447
9.6 Iteration 5: More Drawing Tools 448
9 .6.1 Filled Shapes 448
9.6.2 Drawing Filled Shapes 449
9.6.3 The Application 452
9.7 Iteration 6: The Text Tool 453
9.7.1 The Text Shape 454
9 .7 .2 The Keyboard Input Tool 455
9.7.3 The Font Option Menu 459
Chapter Summary 462
Further Readings 462
Project 463

CHAPTER 1O More Design Patterns 465


IO.I Type-Safe Enumeration Types 465
10.1.1 A Simple Maze Game 465
10.1 .2 Enumeration Types 466
I0.1.3 Unordered Ty~Safe Enumeration Idiom 468
10.1.4 Ordered Type-Safe Enumeration Idiom 469
10.2 Creational Design Patterns 470
J0.2.1 A Simple Design of the Maze Game 470
J0.2.2 Design Paltem.: Abstract Factory 484
10.2.3 Design Pattern: Factory Method 491
I0.2.4 Design Pattern; Prototype 495
10.2.5 Design Paltem: Builder 502
10.3 Behavioral Patterns 507
10.3.1 Design Pallern: Command 507
Contents ■ xiii

10.3.2 Supporting Undo 509


10.4 Structural Patterns 513
I 0.4.1 Design Pattern: Adapter 513
I0.4.2 Design Pattern: Composite 531
Chapter Summary 544
Further Readings 545

CHAPTER 11 Concurrent Programming


547
11.1 Threads 547
11.1.1 Creation of Threads 548
11.1.2 Controlling Threads 553
11.2 Thread Safety and Liveness 556
11.2.1 Synchronization 557
11.2.2 Cooperation Among Threads 564
11 .2.3 Liveness Failures 569
11.3 Design Case Study-Tic-Tac-Toe Game 571
11.3.1 The Game Board 572
11 .3.2 The Game 577
11.3.3 The Players 579
11.3.4 Idiom: Talcing Turns 582
Chapter Summary 583
Further Reading 584
Exercises 584
Projects 585

CHAPTER 12 Distributed Computing 587


12.1 Socket-Based Communication 588
12.1 .1 Server and Client Sockets 5 8
12.1 .2 Server and Client U ing Socket 590
12.1.3 De ign Ca e Study-Stock Quote I 600
12.2 Remote Method Invocation 61-+
12.2.1 The Architecture 614
12.2.2 U ing RMI 616
12.2.3 De ign Ca e Stud -Stock Quote lI 620
12.3 Java Databa e Connecti ity 628
12.4 Common Object Reque, t Broker Archite ture 640
Chapter Summary 641
Further Reading, 642
Exercise, 642
Projects 643
XiV • Contents

APPENDIX A Summary of the APPLET Tag 645

APPENDIX B Summary of Documentation Tags 647

APPENDIX C Summary of Java Naming Conventions 649

Glossary 653

References 663

Index 667
Object-Oriented Software
Development

CHAPTER OVERVIEW
In this chapter, we provide an overview of object-oriented software development. We
start w ith a general d iscussion of software development processes and the desi@ble
qualities of software products. Next, we discuss what makes software development
difficult and the difference between software engineering and other more established
engineering practices. Then we take a close look at ite@tive software development
processes, including the Rational Unified Process (RUP) and Extreme Programming (XP).

Whether you are a novice or experienced computer u er or programmer, you would


agree that we are living in an ex iting period of time with a con tant flow of inno-
vation in both computer hard, are and oftware. The oftware indu try wa one of
the mo t ucce ful indu ·trie' during the p:l'l t, o decade . ot only wa it growth
in market value exceptional. but it was al o able to deliver technologically advanced
and innovative products at an unrelenting pa e. Today, computer software ha become
prevalent in every a pect of life. ocietie are becoming more and more dependent on
oftwa.re y tern • from autopilot sy tern , of jetliners to computerized trading system
of tock market to per-anal organizer' on palm-top computer . However, oftware i

1
2 ■ Object-Oriented Software Development

expensive. The cost of purchasing, developing, maintaining, and �pgrading so�tware


systems has become the largest single expe� diture f or many bu messes, and it con­
tinues to increase. This continuing increase m software costs contrasts sharply to the
dramatic decrease in hardware costs and the equally dramatic increase in hardware
perfonnance and capabilities. The object-oriented software develop� ent methodol­
ogy aims to significantly improve current software �evelopm_ent practice. It ha _ been
well received and widely adopted by the software mdustry m recent years. It 1s the
methodology of choice in today's software development practices.

1.1 THE CHALLENGES OF SOFTWARE DEVELOPMENT


During the past two decades, the software industry has produced many technolog­
ically advanced, innovative, and commercially successful products. However, the
process of creating these successful products (i.e., software development) i a dif­
ficult, time-consuming, and costly endeavor. For example, the initial version of the
Microsoft Windows NT operating system consisted of 6 million line of code, co t
$150 million to develop, and took 200 developers, testers, and technical writers 5 years
to complete. The struggle to create Windows NT is vividly presented in Show-Stopper
[Zachary, 1994). Furthermore, software systems tend to be "buggy"; that i , they con­
tain glitches that hamper or even disrupt their normal function or performance. Minor
glitches can be merely annoying, but serious ones can be disastrous.

• On January 15, 1990, the AT&T long-distance telephone network broke down,
interrupting nationwide long-distance telephone services in the United State f or
more than 8 hours. An ill-placed break statement in the switching software,
written in the C language, was to blame for the breakdown.
• On June 4, 1996, the maiden flight of the new and improved Ariane 5 commu­
nication satellite launcher developed by the European Space Agency exploded
37 seconds after liftoff. An incorrectly handled software exception resulting from
converting a 64-bit floating point to a 16-bit signed integer caused the disaster.
• On June 8, 200 I, a software problem in the new trading software installed
overnight for the New York Stock Exchange caused failures in trading on half of
the floor of the exchange and forced the NYSE to shut down the entire trading
floor for more than an hour.

Although uch cata trophic failures are rare, minor glitches are common in almost all
oftware. In other words, buggy software is the nom1.
However, the state of oftware development practice i far from the "software
crisis" many have proclaimed in the past. Advances in many aspects of software de­
velopment methodologies and software engineering proce ses have made it po ible
I? develop many large-scale software systems that perform as expected most of the
time. We are not capable of delivering nor required to deliver 100% reliable software
The question i , How good i good enough?
1.1 The Challenges of Software Development ■ 3

Software development is labor intensive. A majority of software development


projects are over budget and behind schedule. The reality of software development
remains that software is very expensive and often unreliable. Despite the phenomenal
success of the software industry in technological advance and innovation, it still face
challenges in delivering high-quality software on time and under budget. The object-
oriented software development methodology is one of the solutions the software
industry is embracing now, hoping to improve the reliability of software system and
the cost-effectiveness of software development.
In order to improve software development practice, let u first examine some
of the underlying causes of the difficulties of software development: complexity,
longevity and evolution, and high user expectations.

Complexity The software ystem being developed today are often very large and
complex. Complexity is dictated by the problems the sy tem are intended to solve
and the services they are intended to provide. From the engineering perspective, both
requirements are often beyond the control of software developers. The complexity
involved in a large-scale software system is so great that no individual can comprehend
every detail of the system. To build such a complex sy tem, it mu t be broken down
into manageable parts and requires the cooperative effo11s of a team of developer
rather than the efforts of an individual. Methodologie , techniques, and tool that
work well for small systems developed by individuals usually are not effective for
large systems developed by tean1s.

Longevity and Evolution Because of economic, political, and other constraint ,


software systems are often in service for very long periods of time. Today, some
legacy systems have been operating for more than 20 year . During their lifetimes,
software systems must constantly evolve to accommodate changes in u er ' need
and environments. However, making changes to software system (i.e., maintenance)
is a difficult task. Furthermore, maintenance not only is co tly and Lime-consuming,
but also usually degrades the quality of the ystem being maintained. On average,
the maintenance cost of a software system over it li fetime i far greater than its initial
development cost.

High User Expectations In the past, whe n computer were mainly u ed in univer-
sitie , research institutions, and large corporation , the majority of software ystem
users were scientists and engineer who had the technical kill 10 handle glitche
they might encounter while using the sy tern . Today, computer are used in home ,
school , and businesses of all size , and are used for plea ure a well a for work.
The majority of today's software u er are nontechnical, ordinary people. Computer
oftware products are con idered more and more like con umer producl and are ex-
pected to perfom1 with the a me depe ndability as hou ehold appliances. Occa ional
glitche that once were con idered acceptable are now intolerable. Software Y tern
are expected to be " bug-free ," but uch perfection i next to impossible.

The challenge faced by oftware development are to find effective olution to


control the complexicie of oft ware y tern , co manage the longevity and e olution of
software y tern , and to deliver oftware y rems with higher reliability and u ability.
4 ■ Object-Oriented Software Development

I>

AN ENGINEERING PERSPECTIVE
..i
The term software engineering was coined al a NATO workshop in 1968. It repre­
ented an aspiration to m ch e practice of software development on a solid scientific
foundation and to attain the level of reliability and productivity associated with well­
e tabli hed engineering di cipline , uch as civil and mechanical engineering.
Software engineering is �jneering discipline concerned with al�
developing and delivering high-quality and use�i:�ecti-ve-manner.
Software engineering defines the various activities in the software development and
the products, or deliverables, a sociated with these activities. Software engineering
also define the sofnvare development processes, which define the order for carrying
out the development activities and the criteria for the deliverables of the activities.

1.2.1 Software Development Activities


The most important product of software development is obviously the software. Most
people equate software to computer programs, or the source code. However, the source
code is onJy a part of the products produced in software development. In software
engineering, the term software is defined in a broader sense. It encompasses the source
code as well as all the associated documentation produced during the various activities
in the sofu are development process. The documentation of software may include
requirements specifications, architecture and design documents, configuration data,
installation and user manuals, and so on. Software development usually involves the
following activities:

Requirements Analysis The goal of requirements analysis is to establish the func­


tions, services, and constraints of the software to be developed. For custom software,
that is, oftware developed for one specific customer, this is usually accomplished by
consultation with system users. For commercial ("shrink-wrapped") software, that
is, software intended to be marketed and sold to any customers who are willing to
buy it, this goal is usually accomplished by market analysis of perceived needs of
potential customers and/or feedback from existing customers. There are two cate­
gories of requirements:fimctiona/ requirements, which are concerned with functions
and ervices to be performed by the software, and nonfunctional requirements, which
are concerned with the constraints under which the software must operate, such as
response time, memory consumption, and user friendliness. The main concern of
requirements analysi is lo define the problem to be solved. The requirements are
documented in requirements specifications or system specifications.

Design The goal of design is to construct a solution to the problem by establishing


an overall architecture of the software, by partitioning the software into components
or sub ystem , and by identifying the relationships and dependencies among them.
These de ign activities can often be further divided into systern design, which is
primarily concerned with rhe decomposition of complex problems into manageable
1.2 An Engineering Perspective ■ 5

components, and detail design, which is primarily concerned with the solutions to
each component. Software designs are often documented using various diagrams.

Implementation and Unit Testing Implementation is the realization of the soft-


ware design in programs, that is, source code. Each component is implemented
separately. Unit testing is carried out to test each individual component, or unit, inde-
pendently. The goal of unit testing is to ensure that each unit functions properly with
respect to its specification before the units are integrated.

Integration and System Testing The individual components or units are integrated
and tested as a whole to ensure that the entire software system functions properly with
respect to its specification.

Maintenance Maintenance involves a variety of activities after the delivery of


software systems. These activities include correcting bugs, improving performance,
enhancing functions or services, and adapting to new environments. Software main-
tenance continues as long as the software is in service. It is usually the longest and
most costly activity in the software life cycle.

1.2.2 Software Development Processes

The most well-known software development process is the ·<waterfall" model illus-
trated in Figure 1.1, which has been the de facto standard of the software development
process. In the waterfall model, the development activities are carried out in succes-
sive phases linearly: requirements analysis, design, implementation and unit te ting,
integration and system testing, and maintenance. A phase i the pan of time between
two major milestones of the process in which a well-defined et of objective are met,
artifacts are completed, and decisions are made whether to move into the next phase.
In principle, the deliverable of each phase must be approved (" igned off') before the

Figure 1.1
Requirements

l
analysis
The waterfall model
of software devel- +
I
I
opment. '---- - Design

+
,' _____
I
i
Implementation
and unit testing

+
I
I
i
Integration and
·----- system testing

+
I
,_____
I
Maintenance
as

6 • Object-Oriented Software Development

next phase can begin. The rationale is that changes to the requirements specification
cost much less to implement in the requirements analysis than in the later phases. The
later the phase in which a change to the requirements is introduced, the more it costs.
So the goal is to minimize changes after the documents are delivered. This requires
that the tasks of each phase be completed thoroughly, and that the deliverables of each
phase be frozen once they are delivered and approved.
However, the waterfall model is not realistic. It is very common that changes
occur during every phase of the development process. The changes may come from a
number of sources: errors or faults of the specification and design may be discovered
during implementation; assumptions made in design may be proven false during
y tern testing; some features requested by the customers may be proven to be too
low, excessive in resource consumption, or infeasible during system testing; and
user needs and requirements may have changed after the requirements analysis is
completed. Therefore, in practice, it is often necessary to have several iterations of
the phase in the waterfall model. However, one of the major shortcomings of the
waterfall model is that it does not facilitate such iterations.
There are several alternative software development processes that are designed
to carry out the software development activities in an iterative fashion. The itera-
tive software development processes are becoming popular and gaining acceptance
in practice, partly because of the wide acceptance of object-oriented development
methodologies, which are especially suited to iterative development. We will discuss
two of the common iterative development processes in Section 1.4.

1.2.3 Desirable Qualities of Software Systems

Let's now tum our attention to the products of software development-software


ystems. The following are the most desirable qualities of software systems:

Usefulness: Software systems should adequately address the needs of their


intended users in solving problems and providing services.
Trmeliness: Software systems should be completed and shipped in a timely
manner. Otherwise, they may be less useful or even useless owing to changes
in users' needs and operating environments. This factor is also important in
the software vendor's ability to remain competitive.
Reliability: Software system should perform as expected by users in terms of
the correctness of the functions being performed, the availability of service ,
and an acceptable level of failures.
Maintainability: Software ystems should be easily maintainable; that is, it
should be possible to make corrections, adaptations, and extensions without
undue costs.
Reusability: Components of software systems should not be designed as ad hoc
olutions to specific problems in specific contexts; rather they should be
designed as general solutions to a class of problems in different contex t
Such general components can be adapted and reused many times.
1.2 An Engineering Perspective
• 7

User f .riendliness: Software systems should provide user-fn·endl Y mte · rfaces


tailored to the capabilities and the background of the intended
, ·1· users to
,aci Itate easy use and access to the full extent of the systems' capabilities.
Efficiency: Software systems should not make wasteful use of system
. . . . resources,
mcludmg processing time, memory, and disk space.

N?t all of these desir~ble qualities are attainable at the same time, nor are they of
equal importance. A crucial part of software development is dealing with the trade.-
o~s amo?g these different qualities to achieve a reasonable balance. Obviously, the
obJect-on:nted developm~ t approach cannot directly improve aJI these qualities. It
~cuse~ primarily O!!_improving_the_!!laintainability and reusabj lity of software sys- ,
terns.Maintainability should be the focuo fife development process for three main
reasons. First, for software systems with long lifetimes, maintenance co ts will far ex-
ceed initial development costs. It is imprudent to compromise maintainability because
any savings that may result ini tial ly will undoubtedly be dwarfed by maintenance cost
penalties over the long run. Second, current development technology does not yield
high reliability in the initial release of software sy tern . Reliability i u ually attained
through repeated corrections during the development pha e and throughout the life-
times of software system . Software system reliability can be everely hampered by
poor maintainabi lity. Third, high maintainability require flexibility in the de ign and
implementation of software systems. Such flexibility facilitate the kind of incremen-
tal development that enhances reliability, u efulne s, and u er friendline . a well as
the ability to contain costs.
Several factors contribute to the maintainability of oftware y tern :

Flexibility: Flexibility mean that variou aspect of ofrware y tern. hould


be easily changeable. The impact of the change can be confi ned to mall
region , and the correctnes of the change can be verified locally. that L, by
only examining the small affected region rather than examining the entire
software.
Simplicity: Human beings are fal lible. It is impo ible for people to avoid making
mi take . However, when thing are imple. people are much le s error-
prone, and making ure that thing are working properly i' much ea ier. If
there are error , they become more obviou . and correcting them i ea. ier.
Complex software y terns can be implified by the effective u e of the
divide-and-conquer technique.
Readability: A prerequi ite fo r maintainability i. readability, or under tand-
ability, because ·oftware ·y tems mu t be under tood before they can be
modified. Readability depends on the clarity and the impli ity of the de ign
and the program code, the clarity :rnd completene of the accompanying
documentation, and a ' imp le and consi tent style of de, ign, implementation,
and documentation.

These fac tors me the fo us of our discu. sion of methods and techniques in later
chapters.
8 ■ Object-Oriented Software Development

1 .2.4 Is Software Development an Engineering Process?


After more than 30 year since its inception, there is still little consensus on the pr~cise
definition of software engineering, and even the legitimacy of using software_ engmeer
as a professional title is till being debated. As Shaw and Garlan [ 1996] pomted out,
software engineering is a label that
refers to a collection of management processes, software tooling, and design activities
for oftware de,·elopment. The resulting practice, however, differs significantly from
the practice of older form of engineering.

A clo e examination of traditional, well-established engineering disciplines reveals


that e eral e ential characteristics of those practices are absent in today's software
development practice.

Analysis of Designs
Over the centuries, craftsmanship clearly has proved capable of building magnificent
tructures. such as the Egyptian pyramids, Roman aqueducts, and Notre Dame Cathe-
dral. However, modem engineering offers assurance, predictability, and efficiency
that craftsmanship cannot match. One of the key differences between engineering
and craftsmanship is that the success of engineering projects can be assured before-
hand through scientific analysis of their designs, whereas the success of craftsmanship
projects is attained through trial and error during current and prior construction.
Civil engineers depend on mechanics to help them predict with confidence before
construction begins that a newly designed bridge or building will stand and function
as it is supposed to. Aerospace engineers depend on aerodynamics and simulation to
help them predict with confidence before it is built that a newly designed airplane
will fly.
In contrast, software developers largely depend on testing and debugging (i.e.,
trial and error) to establish confidence in their products. Software development is
like building modern skyscrapers with craftsmanship, with the success of software
development projects rarely assured beforehand.

Nonrecurrence of Failures
Failures, ometimes catastrophic, also occur in well-established engineering fields.
Perhaps one of the most spectacular failures in the history of engineering was the
collapse of the Tacoma Narrows Bridge in 1940. Its design was unconventional and
innovative, and the bridge was dramatic and elegant in appearance. Careful analysis
w~s per~o~ed to en ure that the bridge would behave well under its own weight
with ant1c1pated traffic load and winds as high as 45 miles per hour. However the
~esigner did nor fore~ee that the slender ~ridge deck would act like an airplane ~ing
ma moderate crosswind of less than 40 miles per hour, which twisted the bridge apart.
A oo~ a th~ cause of the collapse _was known, 1~easures were developed to prevent
such failures in the fu1ure. Hence, rn well-established engineering fields, the same
type of failure is rarely repealed.
Other documents randomly have
different content
The Project Gutenberg eBook of Utazás a föld

központja felé (2. rész)


This ebook is for the use of anyone anywhere in the United States
and most other parts of the world at no cost and with almost no
restrictions whatsoever. You may copy it, give it away or re-use it
under the terms of the Project Gutenberg License included with this
ebook or online at www.gutenberg.org. If you are not located in the
United States, you will have to check the laws of the country where
you are located before using this eBook.

Title: Utazás a föld központja felé (2. rész)

Author: Jules Verne

Translator: Leo Beöthy

Release date: February 13, 2021 [eBook #64539]


Most recently updated: October 18, 2024

Language: Hungarian

Credits: E-text prepared by Albert László from page images


generously made available by the Google Books Library
Project (https://books.google.com)

*** START OF THE PROJECT GUTENBERG EBOOK UTAZÁS A FÖLD


KÖZPONTJA FELÉ (2. RÉSZ) ***
The Project Gutenberg eBook, Utazás a föld központja felé (2.
rész), by Jules Verne, Translated by Leo Beöthy

Note: Images of the original pages are available through


Internet Archive. See
https://books.google.com/books?id=bgETV-1ttVsC

Project Gutenberg has the other volume of this


work.
See Első rész at
http://www.gutenberg.org/files/64538/64538-
h/64538-h.htm
UTAZÁS

A FÖLD KÖZPONTJA FELÉ.

VERNE GYULÁTÓL.

A FRANCZIA EREDETI UTÁN


FORDITOTTA

BEÖTHY LEO.

Második rész.

Pest 1865.
Hartleben Adolf sajátja.
Pest 1865. Kertész József nyomása.
XXVIII.

Mikor eszmélni kezdettem, arczom könyekkel volt elárasztva.


Nem tudnám megmondani, hogy meddig tartott ájulásom. Többé
nem tarthattam számon az időt. Soha még az enyémhez hasonló
magány nem létezett, soha ily elhagyatottság.
Bukásom után sok vérem elfolyt. Véremmel voltam elázva.
Mennyire sajnáltam, hogy meg nem haltam, hogy a halál még
előttem állott! Többé nem akartam gondolkodni. Mintegy kizárni
lelkemből igyekeztem az eszméket, és a fájdalom által végkép
kimeritve, az alagut túlsó falához csúsztam.
Már éreztem az ájulást, mely ismét erőt kezdett venni rajtam, és
vele közeledett a tökéletes megsemmisülés is, midőn erős zörej
érkezett füleimhez. Távoli hosszas égzengésre hasonlitott, s a mély
hanghullámok lassanként vesztek el az üreg mélyében.
Honnan származhatott e zaj? Kétségkivül valamely tüneményből,
mely a föld belsejében ment véghez. Talán gáz robbant fel, vagy a
földgömb valamely hatalmas sziklaboltja dőlt be.
Figyelve hallgattam.
Tudni akartam, hogy e zaj ismétlődni fog-e. Egy negyedóra telt
el. Tökéletes csend uralkodott az alagutban. Többé szivem
dobogását sem hallottam.
Egyszerre ugy rémlett, mintha fülemet, mely véletlenül a falhoz
volt támasztva, határozatlan, felfoghatatlan, távoli szavak ütnék
meg. Összerezzentem.
„Hallucinatio!“ gondolám.
De nem, mert a mint figyelmesebben oda hallgattam, csakugyan
mormogó hangokat hallék. Azonban kimerültségem, gyengeségem
nem engedték, hogy megértsem mit mondanak. Pedig csakugyan
beszéltek. Semmi kétség.
Egy pillanatig attól tartottam, hogy a szavak, melyeket hallék,
saját, a viszhang által visszahozott szavaim. Talán tudtom nélkül
kiáltottam volt? Erősen összecsuktam ajkaimat s fülemet ismét a
falhoz fektetém.
Igen, ugy van, beszélnek! beszélnek!
A fal hosszában néhány lépést haladván, még tisztábban
hallottam. Sikerült bizonytalan, különös, megérthetetlen szavakat
felfognom. Ugy érkeztek hozzám, mintha lassan, ugyszólván
suttogva, ejtettek volna ki. E szó „förlorad“ többször ismételtetett, és
pedig fájdalom kifejezésén.
Mit jelenthetett az? ki mondta ki? Nyilván nagybátyám vagy
Hans. De ha én hallottam az ő szavaikat, ők is hallhatták enyémet.
„Ide!“ kiáltám teljes erővel, „ide!“
Hallgatództam, figyelve, hogy nem hallok-e valami feleletfélét,
egy felkiáltást vagy sohajt. De nem hallatszott semmi. Néhány percz
mult el igy. Lelkemben eszméknek egész világa nyilt meg. Majd azt
hittem, hogy meggyengült hangom nem juthatott el társaim füléig.
„Csak az ő szavukat hallhatom,“ ismétlém. „Ki más járhatna itt,
harmincz mértföldnyire a föld alatt!“
Ismét hallgatództam. Fülemet a falon ide-oda jártatva, azon
mathematikai pontra akadtam, melyen a hangok legerősebben
hangzottak. Ismét hallám e szót „förlorand“ s utána ama
mennydörgés formát, mi az imént elzsibbadásomból felébresztett
volt.
„Nem,“ mondám magamban, „nem. E hangok nem e
sziklatömegen keresztül jutnak hozzám. E fal gránitból van és a
legerősebb dörgést sem bocsátaná át! E zaj magán a folyosón át
érkezik hozzám! Valamely akusztikai sajátság következménye lehet!“
Ismét hallgatództam és most, igen! most tisztán hallám saját
nevemet, a mint az üregben visszhangzott.
Bátyám ejtette ki nevemet! Ő a kalauzzal beszélt, s e szó
„förlorad“ dán szó!
Ekkor minden világos volt előttem. Hogy ők is megérthessék
szavaimat, közvetlenül e fal hosszában kell beszélni, mely a hangnak
vezetőül szolgál, mint a sodrony az elektriczitásnak.
De nem volt vesztegetni való időm. Ha társaim néhány lépéssel
tovább mennek, az akusztikai tünemény hatása megszünik. A falhoz
közeledtem tehát és a következő szavakat a lehető legtisztábban
ejtettem ki.
„Lidenbrock bátyám!“
Roppant aggodalom között vártam. A hang nem bir rendkivüli
gyorsasággal. A légréteg sürüsége sem növeli sebességét, csupán
erejét. Néhány másodpercz, rám nézve századok, mult el, mig végre
e szavak érkeztek fülemhez:
„Axel, Axel! te szólasz?“
––––––––
„Igen! igen!“ válaszoltam én.
––––––––
„Szegény gyermekem, hová lettél?“
––––––––
„Eltévedtem, a legmélyebb sötétség környez!“
––––––––
„Hát a lámpád?“
––––––––
„Kialudt.“
––––––––
„Hát a patak?“
––––––––
„Eltünt.“
––––––––
„Axel, szegény Axelem, ne csüggedj!“
––––––––
„Várjon kissé, ki vagyok merülve; többé nem vagyok képes
felelni. De szóljon hozzám!“
––––––––
„Bátorság,“ válaszolt bátyám; „ne szólj most, hallgass reám.
Kerestünk, hol fölfelé, hol lefelé menve a folyosóban, de lehetetlen
volt rád akadnunk. Megsirattalak, szegény fiam! Végre azt hivém,
hogy még mindig a Hans-bach mentén vagy; puskáinkat elsütve
mentünk ismét lefelé. Hogy pedig most egymás hangját hallhatjuk,
ez tisztán az akusztika hatása; egymás kezét nem érinthetjük! de
azért ne ess kétségbe, fiam, már az is ér valamit, hogy egymással
szólhatunk!“
––––––––
Ez idő alatt gondolkodtam volt. Reménysugár, bár még igen
határozatlan, kezdett lelkemben derengeni. Egy kérdés érdekelt
mindenek fölött. Ajkamat a falhoz értetve, szóltam tehát:
„Nagybátyám!“
––––––––
„Fiam?“ válaszolt ő néhány pillanat mulva.
––––––––
„Mindenekelőtt azt kellene tudnunk, hogy mennyire vagyunk
egymástól.“
––––––––
„Ez könnyü.“
––––––––
„Megvan az időmérő?“
––––––––
„Meg.“
––––––––
„Jegyezze meg tehát pontosan a pillanatot, melyben szólni fog
hozzám. Én ismételni fogom amit mondott, és jegyezze meg azután
azon pillanatot is, melyben feleletem oda érkezik.“
––––––––
„Helyesen, az én kérdésem és a te feleleted közt levő idő fele ki
fogja mutatni, hogy hangom mennyi idő alatt érkezik hozzád.“
––––––––
„Ugy van bátyám.“
––––––––
„Készen vagy?“
––––––––
„Igen.“
––––––––
„Ügyelj tehát, nevedet fogom kimondani.“
––––––––
Fülemet a falhoz szoritottam s amint e szó Axel hozzám érkezett,
rögtön válaszoltam: „Axel“, és azután vártam.
––––––––
„Negyven másodpercz,“ szólt ekkor bátyám, „negyven
másodpercz mult el a két szó között; a hang tehát husz percz alatt
érkezik hozzám. Ezer husz lábat számitva másodperczenként, ez
összesen huszezer négyszáz lábat, vagyis másfél és egy nyolczad
mértföldet tesz.“
––––––––
„Másfél mértföld!“ mormogám.
––––––––
„Nem mérhetlen távolság!“
––––––––
„De fel menjek-e vagy le?“
––––––––
„Le, és pedig a következőknél fogva: mi roppant üregbe
érkeztünk, melybe számos alagut torkol. Az, melyben jelenleg
tartózkodol, szintén csak ide vezethet, mert ugy látszik, hogy mind e
hasadások, a földgömb e repedései, azon roppant barlangból
sugárzanak ki, melyben mi vagyunk most. Ne csüggedj és folytasd
utadat. Járj s ha járni nem tudsz, vonszold magad, ha szükség,
csusztassad alá magadat a meredek lejtőkön s utad végén tárt
karjaink fognak fel. Utra fiam és előre.“
––––––––
E szavak visszaadták bátorságomat.
„Isten önnel bátyám!“ kiáltám, „indulok. Többé nem fogunk
egymással beszélhetni, mihelyt innen távozom. Azért isten önnel!“
––––––––
„Viszontlátásra Axel, viszontlátásra!“
––––––––
Ezek voltak az utolsó szavak, melyeket hallottam. E meglepő
társalgás, mely a földtömegen keresztül folytattatott, e reménytelt
szavakkal fejeződött be! Hálaimát bocsátottam istenhez, mert ő a
sötétség országában azon pontra, talán az egyetlenre, vezetett,
melyről az én hangom és társaimé közlekedhettek.
Ez akusztikai tünemény, bár igen meglepő, a természettan
törvényei által mégis könnyen megmagyarázható, a folyosó alakjából
és a szikla hangvezető voltából származott; számos példa létezik
arra, miszerint a hang igen távol pontokon meghallatszik, mig a
közbeeső helyeken nem. Emlékezem, hogy e tünemény sok helyütt
tapasztaltatik, többek között Londonban, Szent-Pál temploma belső
fólyosójában s főleg ama különös szicziliai barlangokban, ama
kőüregekben Syrakus táján, melyeknek legnevezetesbike e név alatt
„Dyonisius füle“ ismeretes.
Mindez emlékek fölébredtek bensőmben és beláttam, hogy
miután bátyám hangja hozzám érkezett, közöttünk nem létezhetett
semmi akadály. A hang utját követve, okvetetlenül hozzája kellett
jutnom, ha erőm addig el nem hágy.
Fölkeltem tehát és megindultam. Inkább vonszoltam magam,
semmint jártam. A lejtő elég meredek volt; csúsztattam tehát
magamat.
Lecsúszásom sebessége csakhamar aggasztó mérvben
növekedett és fenyegetőleg kezdett bukáshoz hasonlitani. Többé
nem voltam képes megállani.
Most elveszett lábaim alól a föld. Éreztem, hogy függőleges
folyosónak, valóságos kutnak szakgatott, egyenetlen oldalfalán
hengeredem alá. Majd hegyes sziklába ütődött fejem, mire
eszméletem elveszett.
XXIX.

Midőn magamhoz tértem, félhomályos helyen, vastag takarókon


kinyulva feküdtem. Bátyám mellettem volt, és arczomon életjelt
lesett. Mikor először felsóhajtottam, megragadta kezemet, mikor
szememet felnyitottam, örömteljesen kiáltott fel:
„Él, él!“
„Élek“, válaszoltam gyenge hangon.
„Gyermekem“, szólt nagybátyám karjaiba szoritva, „meg vagy
mentve!“
Mélyen meg voltam hatva azon kifejezés által, melylyel e szavak
mondattak, és még inkább a gond és ápolás által, mely őket követte.
Csupán ily események idézhettek elő a tanárban hasonló
elérzékenyülést és ömlengést.
E perczben érkezett meg Hans. Kezemet bátyám kezében látván,
szemei, bizton merem állitani, nagy megelégedést fejeztek ki.
„God dag“, szólt a kalauz.
„Jó napot Hans, jó napot“, suttogám. „És most, édes bátyám,
tudassa velem, hogy e perczben hol vagyunk.“
„Holnap, Axel, holnap; ma még igen gyenge vagy; fejedre
borogatót raktam; melyet nem szabad helyéről megmozditani; aludj
most, fiam, holnap megtudsz mindent.“
„De legalább azt mondja meg bátyám!“, válaszoltam, „hogy hány
óra van és mely nap.“
„Esteli tizenegy óra; ma vasárnap, augusztus kilenczedike van, és
megtiltom, hogy folyó hó tizedike előtt többet kérdezősködjél.“
Csakugyan nagyon gyenge voltam; szemem önkénytelenül
lecsukódott. Egy éjszakai nyugalomra volt szükségem; azon gondolat
által foglalkodtatva, miszerint elszigeteltségem négy hosszu napig
tartott, aludtam el.
Másnap, midőn felébredék, körültekintettem. Ágyam, mely
minden uti takaróinkból volt összeszerkesztve, gyönyörü,
szömölcskövekkel diszitett barlangban volt elhelyezve, melynek
talaját finom homok boritotta. A barlangban félhomály uralkodott.
Sem szövétnek, sem lámpa nem égett és mindamellett kivülről
bizonyos, előttem magyarázhatlan világosság derengett be a barlang
szűk nyilásán. Valami különös, határozatlan morajt is hallottam, mely
a sziklán megtörő hullámok zajongásához és olykor a tengeren fujó
szél süvöltéséhez hasonlitott.
Azt kérdeztem önmagamban, hogy valóban felébredtem-e, vagy
hogy álmodom-e még és bukásom által megsértett agyam tisztán
képzeleti neszt tapasztal-e. De még sem hihettem, hogy akár fülem,
akár szemem ennyire csalódhassék.
„Im ott egy napsugár,“ gondolám, „mely a sziklahasadékon
áthatol a barlangba! Ez a hullámok zugása! Ez a szél süvöltése!
Álmodom-e, vagy a föld felszinén vagyunk ismét? Bátyám lemondott
volna vállalatáról; vagy szerencsésen véghezvitte azt?“
E megfejthetetlen kérdésekkel foglalkoztam, midőn a tanár
belépett.
„Jó napot Axel!“ szólt ő vidáman. „Fogadni mernék, hogy jól
érzed magadat.“
„Igen jól,“ válaszoltam én, ágyamban felkönyökölve.
„Előre tudtam, mert nagyon nyugalmasan aludtál. Hans és én
felváltva virrasztottunk melletted, és láttuk, mint javul állapotod
észrevehetőleg.“
„Csakugyan sokkal jobban érzem magamat, s ennek
bebizonyitásául reggelizni fogok.“
„Ehetsz fiam; a láz megszünt. Hans sebeidet valami kenőcscsel
dörzsölte be, melynek titkát az izlandiak birják; és sebeid csodálatos
gyorsasággal hegedtek be. Derék ember ez a mi vadászunk!“
Bátyám, mialatt beszélt, némi élelmiszereket rakott elém,
melyeket hirtelen elköltöttem, daczára annak, hogy bátyám azt
ajánlotta, hogy lassan, óvatosan egyem. Ezalatt kérdésekkel
ostromoltam, melyekre ő készségesen válaszolt.
Ekkor tudtam meg, hogy egy csaknem függőleges alagból
buktam le. Velem együtt köveknek egész zápora hullott alá, oly
kövek, melyeknek legcsekélyebbike is összezúzhatott volna; ebből
következtetni lehetett, hogy a felső talaj egy része velem együtt
csúszott le. E borzasztó jármüvön jutottam bátyám karjai közé,
vérezve és eszméletlenül.
„Valóban bámulatos,“ szólt ő, „hogy ezerszer meg nem haltál. De,
istenemre, nem válunk el többé, mert ugy történhetnék, hogy soha
nem látnánk egymást.“
„Nem válunk el többé!“
Utazásunk tehát még nem ért véget? Csodálkozásomban
mereven bátyámra szegeztem szemeimet, mire ő rögtön kérdezé:
„Mi lelt, Axel?“
„Kérdezni szeretnék valamit. Ön azt mondja, hogy semmi bajom,
nemde?“
„Ugy van.“
„Minden tagom ép.“
„Semmi kétség.“
„Hát fejem?“
„Fejed, néhány zúzást leszámitva, épségben, helyén, vállaidon
van.“
„Én pedig attól tartok, hogy agyvelőm meg van zavarva.“
„Meg van zavarva?“
„Igen. Ugy-e nem tértünk vissza a föld szinére?“
„Nem.“
„Ugy hát megőrültem, mert napfényt látok, a szél süvöltését és a
hullámzó tenger moraját hallom!“
„Ah! csak ez a baj?“
„Megmagyarázhatja ezt bátyám?“
„Én nem magyarázok meg semmit, mert a dolog magyarázhatlan;
de meg fogod látni, meg fogsz győződni, hogy a földtan még nem
érte el tökélypontját.“
„Menjünk hát ki!“ kiáltám hirtelen fölkelve.
„Nem, nem Axel! a szabad lég megárthatna.“
„A szabad lég?“
„Igen, erős szél fú. Nem engedhetem, hogy ekként koczkára tedd
egészségedet.“
„De higyje el bátyám, hogy igen jól érzem magamat.“
„Légy kevés türelemmel, fiam. Ha ismét megbetegednél, nagy
baj volna. Nem szabad az időt vesztegetnünk, mert az átkelés sok
időt igénybe vehet.“
„Az átkelés?“
„Igen, az átkelés. Ma még nyugodj, holnap azután hajóra
szállunk.“
„Hajóra szállunk!“
Ez utolsó szó felvillanyozott.
Hogyan? Hajóra szállunk! Tehát folyam, tó vagy tenger partján
vagyunk? S valamely földalatti kikötőben hajó várakozik reánk?
Kiváncsiságom a legnagyobb mértékben fel volt ébresztve.
Bátyám vissza akart tartóztatni, de hiába. Mikor látta, hogy
türelmetlenségem oly nagy, miszerint ez inkább megárthat, mint
kivánságom teljesülése, engedett.
Gyorsan felöltöztem és óvatosságból ruháim fölébe még egy
takarót vettem, azután kiléptem a barlangból.
XXX.

Kezdetben semmit sem láttam; szemeim, melyek a világosságtól


elszoktak, önkénytelenül lecsukódtak. Midőn képes voltam azokat
felnyitni, meglepetésem leirhatatlan volt.
„A tenger!“ kiáltám.
„Igen,“ felelt bátyám, „a Lidenbrock-tenger; ugy hiszem, hogy e
tenger fölfedezésének dicsőségét és azon jogot, hogy saját nevemre
kereszteljem, egy hajós sem fogja elvitatni tőlem.“
Előttem nagy viztükör, valamely tó vagy tenger kezdete, terült el,
a látkörön túl terjedve. A part, mely nagy öblöt képezett, finom
homokkal szegélyezte a viztükört, a homokon sűrün feküdtek azon
apró tengeri csigák, melyekben a teremtés első élő lényei laktak. A
hullámok azon bizonyos mély morajjal törtek meg, mely csak zárt és
roppant terjedelmü térben tapasztalható; a szél könnyü tajtékot
hajtott s a megtörő hullámokból olykor ritka esőként fecscsentek
apró cseppek arczomra. E nem igen meredek parton, mintegy száz
ölnyire a hullámoktól, roppant sziklák töve volt látható; a sziklák
behomorodva beláthatatlan magasba emelkedtek. Egynehány,
megszakitva a part egyenlőségét, benyult a tengerbe s előfokot
képezett, melyet a hullámok csapdostak. Távolabb a szem tisztán
követheté e tömegeket, melyeket tökéletesen meg lehetett
különböztetni a ködös látkörtől.
Valódi tenger volt ez; partjai szeszélyes kanyargásuak, mint a
földszini tengereké, de puszták és rémitő zordon tekintetüek.
Hogy tekintetem e tengert messze befuthatá, ezt valami különös
világosságnak köszönhettem, mely a legcsekélyebb részleteket is
előtüntette. Nem a nap fénye volt ez, ragyogó sugárcsokorával és
vakitó tüzkörével, sem a holdnak halvány, határozatlan fénye, mely
csak visszavetett sugárból áll és nem melegit. Nem, e fénynek
világitó képessége, rezgő szétterjedése, tiszta és ugyszólván száraz
fehérsége, a hévmérsék alacsony volta, azon körülmény, hogy e
világosság élénkebb volt mint a holdé, mindez világosan bizonyitá
annak elektrikai eredetét. Olyanforma volt, mint az éjszaki fény;
folytonos tünemény, mely e barlangot, mely tengert volt képes
tartalmazni, tökéletesen megvilágositá.
A fejünk fölött domboruló bolt, melyet égnek mondhatunk, nagy
fellegekből, ingó és változó gőzökből látszott állani, melyek bizonyos
napokon kétségkivül vizzé váltak, és záporeső alakjában hullottak
alá. Én eddig azt hittem, hogy a légkörnek ily erős nyomása alatt a
viz nem gőzölöghet el, és mindamellett, valamely előttem ismeretlen
természeti törvény folytán, terjedelmes felhők usztak a légben. E
perczben azonban „szép volt az idő.“ Az elektrikai rétegek bámulatos
szinképeket idéztek elő a magas felhőkön, melyeknek alsó részein
árnyak éles körrajzai tüntek fel; gyakran két egymástól elvált réteg
közől egyes sugár hatolt rendkivüli fénynyel hozzánk. De végre csak
még sem volt ez nap, miután a világossággal nem járt meleg is. A
tünemény szomoru és rendkivül méla hatást okozott. A ragyogó
csillagokkal boritott kék bolt helyett, gránitbolthajtást éreztem
magam fölött, ama fellegeken túl, s e bolthajtás rémitő súlylyal
nehezedett rám; ez ür, bár mily roppantnak látszott is, a
legszerényebb bolygó pályáját sem lett volna képes befogadni.
Ekkor eszembe jutott egy angol kapitánynak ama elmélete, mely
szerint a föld üres golyó lenne, melyben a lég a nyomás
következtében mindig világos, mig két csillag, Pluto és Proserpina,
futja be rejtélyes pályáját. Valjon igazat mondott-e?
Valóban roppant üregben voltunk. Szélességét nem lehetett
megitélni, miután a partok mindinkább tágulva tértek el jobbra-balra
és vesztek el szem elől; sem hosszaságát, mert tekintetünk némileg
határozatlan vonalu látkör által volt megakasztva. Mi magasságát
illeti, ez több lehetett néhány mértföldnél. Hol nehezedett ama
bolthajtás a partot képező gránitfalakra? A szem nem vehette ki; de
a légkörben felhő függött, melynek magasságát többre lehetett
becsülni kétezer ölnél, vagyis magasabban volt mint a földi gőzök
szoktak lenni, mi valószinűleg a lég sürüségéből származott.
E szó barlang nem fejezi ki e roppant tér fogalmát. De az emberi
nyelv szavai nem felelhetnek meg annak, ki a földgömb belsejébe
hatol.
Egyébiránt nem tudtam, hogy mely geologiai ténynek
tulajdonitsam ez üreg eredetét. Idézhette-e ezt elő a gömb kihülése?
Volt ugyan utazási leirásokból tudomásom néhány hires barlangról,
de egy sem birt ekkora terjedelemmel.
Humboldt Sándor, ki meglátogatta a guacharai barlangot
Columbiában, nem tudhatta ugyan meg a barlang valódi mélységét,
de kétezer ötszáz lábnyira hatolt abban, s a barlang valószinüleg
nem terjedt annál sokkal tovább. A mammuth roppant barlangja
Kentuckiban, szintén óriási terjedelmü volt, miután boltozata ötszáz
lábnyira emelkedik a feneketlen tó fölébe, és miután az utasok tiz
mértföldnyire hatoltak benne, anélkül, hogy végét érnék. De mik
voltak ez üregek ahhoz képest, melyet most bámultam, mely felleges
éggel, elektricus sugározással birt és valódi tengert foglalt magába?
Képzelőtehetségem röpte megbénult ezeknek láttára.
Mind e csodákat hallgatva szemléltem. Nem találtam szót, mely
érzéseimet kifejezhette volna. Ugy tetszett, mintha valamely távoli
bolygóban, az Uranusban vagy a Neptunban oly tüneményeknek
lennék tanuja, melyekről „földi“ képzelőtehetségemnek nincs
fogalma. Az uj érzelmeknek uj szavakra lett volna szükségük, és
ilyenekkel képzelőtehetségem nem szolgált. Néztem, gondolkodtam,
és bizonyos ijedelemmel vegyes meglepetést érezve, bámultam.
E váratlan látvány arczomra visszaidézte az egészség szineit; a
csodálkozás gyógyitólag hatott, és egészségem ez uj orvoslati mód
következtében helyreállni látszott; egyébiránt az igen sűrü lég, mely
tüdőmnek több élenyt szolgáltatott, elevenitőleg hatott reám.
Bárki könnyen be fogja látni, hogy miután negyvenhét napig szűk
alagutba voltam zárva, véghetetlenül jól esett e nedves, sós
kigőzölgéssel telt üde leget beszínom.
Nem is volt okom megbánni, hogy setét barlangomat
otthagytam.
Nagybátyám, ki e csodadolgokhoz már hozzászokott volt, többé
nem bámulta azokat.
„Érzesz magadban erőt a járásra?“ kérdé bátyám.
„Érzek,“ feleltem én, „sőt nagyon jól fog esni.“
„Függeszkedj tehát karomba, Axel; kövessük a part
kanyargásait.“
Nagyon örömest fogadtam el ez ajánlatot, és most ez uj Oceán
szélén kezdtünk haladni. Balra meredek sziklák emelkedtek,
tornyosodtak egymás fölött, rendkivüli hatásu óriási tömegekben. E
sziklákból számtalan forrás csörgedezett elő, melyek tükröt képezve
és csevegve hullottak alá; itt-ott egy szikláról a másikra szökdelő
könnyü gőzfellegek jelezték a meleg forrásokat; mindezek patakokká
egyesülve, folydogáltak csendesen a közös medencze felé,
kellemesen csevegve a lejtőkön.
E patakok között felismertem hű utitársunkat, a Hans-bachot, ki
oly nyugalmasan tartott a tenger felé, mintha soha, a világ
teremtése óta, egyebet nem tett volna.
„Ezt nélkülözni fogjuk ezután,“ szóltam én sóhajtva.
„Bah!“ felelt a tanár, „akár ez, akár más patak, mindegy!“
E feleletet kissé hálátlannak találtam.
De e pillanatban figyelmem, váratlan látvány által, másfelé
vonatott. Mintegy ötszáz lépésnyire, magas előfok kanyarulatánál,
magas és sürü erdő tünt fel szemeink előtt. Ez erdő középnagyságu,
szabályos, esernyő alaku, valóban geometriai körrajzokkal biró fákból
állott; a szellő, ugy látszék, nem volt képes lombozatukat
megmozditani; mely, daczára a légfolyamnak, mozdulatlan maradt
mint valami megkövült czédrus-erdő.
Gyorsitám lépteimet. Nem voltam képes e különös növények
számára nevet találni. Valjon nem tartoztak-e ama kétszázezer eddig
ismeretes növényfaj közé, és különös helyet foglaltak-e el a mocsári
növényzet sorában? Nem. Midőn e fák árnyékába érkeztünk,
meglepetésem bámulatra változott.
Csakugyan a föld terményei voltak ezek, de óriási minta szerint
készültek. Bátyám azonban rögtön eszembe juttatá nevüket.
„Nem egyéb ez gombaerdőnél,“ mondá.
És valóban nem csalódott. Képzeljük el, hogy mint fejlődtek ki itt
e növények, melyek a meleg és nedves helyeket szeretik. Tudtam,
hogy a „lycoperdum giganteum“, Bulliard szerint nyolcz-kilencz láb
átmérőjüre nő meg; de itt fehér gombákat láttunk, melyeknek
magassága harmincz–negyven láb és kalapjuk átmérője ugyanannyi.
Ezerenkint találhatók voltak; a világosság nem hatolhatott át az
általuk vetett sűrű árnyékon, s e közvetlenül egymás mellett,
valamely afrikai város kerek háztetőihez hasonló boltozatok alatt
tökéletes sötétség uralkodott.
Mindamellett tovább akartam hatolni. E növények fagyos hideget
terjesztettek. Mintegy félóráig tévelyegtünk e nedves, setét
helyeken, és azután oly jól esett visszatérni a világosságba, a tenger
partjára.
De e földalatti vidék növényzete nem csupán e gombákból állott.
Valamivel távolabb csoportokban számos halvány lombozatu fa volt
látható. Könnyü volt ezeket felismerni; a felszin szerény bokrai
voltak, csakhogy itt rendkivüli terjedelemmel birtak; száz láb magas
Welcome to our website – the ideal destination for book lovers and
knowledge seekers. With a mission to inspire endlessly, we offer a
vast collection of books, ranging from classic literary works to
specialized publications, self-development books, and children's
literature. Each book is a new journey of discovery, expanding
knowledge and enriching the soul of the reade

Our website is not just a platform for buying books, but a bridge
connecting readers to the timeless values of culture and wisdom. With
an elegant, user-friendly interface and an intelligent search system,
we are committed to providing a quick and convenient shopping
experience. Additionally, our special promotions and home delivery
services ensure that you save time and fully enjoy the joy of reading.

Let us accompany you on the journey of exploring knowledge and


personal growth!

ebookultra.com

You might also like