advertisement
javaboutique
Search Tips
Articles  |   Tutorials  |   Reviews  |   Tools  |   by Category  |   by Date  |   by Name  |   Submit  |   Source  |   Forums  |  
javaboutique
Browse DevX


Partners & Affiliates











advertisement


Reviews : Java Books :
Beginning Java Objects : Chapters 2 and 3

Title: Beginning Java Objects
ISBN: 1861004176
US Price: $ 39.99
Canadian Price:
C$ 59.95
UK Price: £ 28.99
Publication Date: November 2000
Pages: 800
© Wrox Press Limited, US and UK.

Beginning Java Objects: Chapter 3
Objects and Classes

Behavior/Operations/Methods

Now, let's revisit the same two types of object — a student and a course — and talk about these objects' respective behaviors. A student's behaviors (relevant to academic matters, that is!) might include:
  • Enrolling in a course
  • Dropping a course
  • Choosing a major field of study
  • Selecting a faculty advisor
  • Telling you his or her GPA when asked
  • Telling you whether or not he or she has taken a particular course, and if so, when the course
  • was taken, which professor taught it, and what grade the student received
It is a bit harder to think of an inanimate, conceptual object like a course as having behaviors, but if we were to imagine a course to be a living thing, then we can imagine that a course's behaviors might include:
  • Permitting a student to register
  • Determining whether or not a given student is already registered
  • Telling you how many students have registered so far, or conversely, how many seats remain
  • before the course is full
  • Telling you what its prerequisite courses are
  • Telling you how many credit hours it is worth
  • Telling you which professor is assigned to teach the course this semester
and so on.

When we talk about software objects specifically, we define an object's behaviors, also known as its operations, as both the things that an object does to access its data (attributes), and the things that an object does to modify/maintain its data (attributes).

If we take a moment to reflect back on the behaviors we expect of a student as listed above, we see that each operation involves one or more of the student's attributes. For example:

  • Telling you his or her GPA involves accessing the value of the student's 'GPA' attribute
  • Choosing a major field of study updates the value of the student's 'major' attribute
  • Enrolling in a course updates the value of the student's 'course load' attribute
Since we recently learned that the collective set of attribute values for an object defines its state, we now can see that operations are capable of changing an object's state.

Let's say that we define the state of a student who has not yet selected a major field of study as an 'undeclared' student. Asking a student object representing an 'undeclared' student to perform its 'choosing a major field of study' method, will cause that object to update the value of its 'major field of study' attribute to reflect the newly selected major field. This then changes the student's state from 'undeclared' to 'declared'.

Yet another way to think of an object's operations are as services that can be requested of the object. For example, one service that we might call upon a course object to perform, is to provide us with a list of all of the students who are currently registered for the course (a.k.a. a student roster).

When we actually get around to programming an object in a language like Java, we refer to the programming language representation of an operation as a method, whereas, strictly speaking, the term 'operation' is typically used to refer to a behavior conceptually. However, these two terms are often used interchangeably, and we'll do so throughout the rest of this book.




How to Add Java Applets to Your Site

New on the Java Boutique:

New Review:

Time Management Made Easy with the Quartz Enterprise Job Scheduler
Why not just use the Java timer API? This open source scheduling API boasts simplicity, ease-of-integration, a well-rounded feature set, and it's free!

New Applet:

Reverse Complement
Reverse Complement is a simple applet that converts DNA or RNA sequences into three useful formats.

Elsewhere on internet.com:

WebDeveloper Java
Lots of Java information on webdeveloper.com

WDVL Java
Thorough Java resource at the Web Developer's Virtual Library.

ScriptSearch Java
Hundreds of free Java code files to download.

jGuru: Your View of the Java Universe
Customizable portal with online training, FAQs, regular news updates, and tutorials.

 Avaya Developer Showcase
 MSDN Spotlight
 PHP for Windows Showcase
XML error: undefined entity at line 34
advertisement
Receive Articles via our XML/RSS feed
Receive Articles via our XML/RSS feed

JavaBytes
Internet Cyclone
This powerful, easy-to-use, internet optimizer is for Windows 95, 98, ME, NT, 2000 and XP. It's designed to automatically optimize your Windows settings, boosting your Internet connection up to 200%.

IBM Brings Developers Into the Cloud
Apache at 10: You Can't Buy Us
Microsoft's CodePlex Foundation Moving Forward
Apple Claims 100,000 Apps, Google Analyzes Them
Nokia Latest to Play Opera Mobile 10 Browser
PayPal Opens Up Payment Platform to Devs
Ubuntu Linux 9.10 'Karmic Koala' Starts Its Climb
IBM Links Rational Developer Tools, Tivoli Apps
Libraries Give Vista Apps a Windows 7 Look
Ubuntu: The 'Default Alternative' to Windows?

Delivering Web-based Embedded Fonts in CSS 3
Adobe Helps PHP Developers Create Rich Internet Applications
Java Developers Finding a Home at Adobe Flex
Virtualization Delivers a Dynamic Infrastructure
Consuming XML Web Services in iPhone Applications
Build a More Agile Business with IBM
POJO-Based Solutions for LDAP Access: One Good, One Better
IBM Offers Enhanced Measurement and Management for Energy Usage
IBM Helps Transformation to an Information-Based Enterprise
Top Five Touch UI-Related Design Guidelines

Advertising Info  |   Member Services  |   Contact Us  |   Help  |   Feedback  |   Site Map  |   Network Map  |   About

internet.commediabistro.comJusttechjobs.comGraphics.com

Search:

WebMediaBrands Corporate Info

Legal Notices, Licensing, Reprints, Permissions, Privacy Policy.
Advertise | Newsletters | Shopping | E-mail Offers | Freelance Jobs