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.

 Microsoft Visual Studio 2010 Showcase
 Avaya Developer Showcase
 MSDN Spotlight
 PHP for Windows Showcase
XML error: undefined entity at line 39
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%.

Windows 7: From Beta to Final Code in One Year
Google Shows Off Chrome OS, Releases Source
Microsoft Shows Off Silverlight 4, IE9 Plans
Metasploit Expands Vulnerability Test Framework
HyperCard Reborn?
Fedora 12 Takes Aim at Linux Networking
Top Supercomputer Nearly Doubles in Speed
Fedora 12 Linux Tackles Virtualization
Apple Gives iPhone Developers App Status Tracker
Novell Sets OpenSUSE 11.2 Free

Creating Custom Export Filters for StarOffice with XSLT
WPF Wonders: Using DataTemplates
Crystal Reports Family Offers Options for Developers
Avaya Aura Session Manager video
Avaya Aura Overview video
Exploring HTML 5's Audio/Video Multimedia Support
Overriding Virtual Functions? Use C++0x Attributes to Avoid Bugs.
Understanding the Cloud Computing Security Vulnerabilities
Cisco and IBM Target a Greener World
Upgrade to Visual Studio 2010 with the Ultimate Offer

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, Permissions, Privacy Policy.
Advertise | Newsletters | Shopping | E-mail Offers | Freelance Jobs