책 이미지
eBook 미리보기
책 정보
· 제목 : Beginning Java Objects: From Concepts to Code (Paperback, 3) 
· 분류 : 외국도서 > 컴퓨터 > 프로그래밍 언어 > Java
· ISBN : 9781484290590
· 쪽수 : 825쪽
· 출판일 : 2023-04-13
· 분류 : 외국도서 > 컴퓨터 > 프로그래밍 언어 > Java
· ISBN : 9781484290590
· 쪽수 : 825쪽
· 출판일 : 2023-04-13
목차
Part I: The ABCs of Objects
Chapter 1: Abstraction and Modeling
Chapter Goal: Introducing the mechanism of abstraction as a natural way for humans to interpret the world, and how this relates to object modeling in the software realm.
Subtopics:
? Simplification through abstraction
? Generalization through abstraction
? Reusing abstractions
Chapter 2: Some Java Basics
Chapter Goal: Provide the reader with an immediate introduction to Java language fundamentals so that object concepts can be illustrated using Java code examples as soon as we begin introducing them in chapter 3.
Subtopics:
? Strengths of the Java language
? Primitive Java types
? The anatomy of a Java program
? Mechanics of compiling and running a Java program
? Java’s block structured nature
? Elements of Java programming style
Chapter 3: Objects and Classes
Chapter Goal: Explain the basic building blocks of an OO application ? classes as mini-abstractions aka templates for creating object instances.
Subtopics:
? Advantages of an OO approach to software development over a non-OO approach
? How classes are used to specify a type of object’s data
? How objects are created (instantiated) at run time
? The use of reference variables to refer to objects symbolically
Chapter 4: Object Interactions
Chapter Goal: Explain how object behaviors are defined as methods within classes, and how objects collaborate by invoking one another’s methods to accomplish the overall mission of the system.
Subtopics:
? How methods are used to specify an object’s behaviors
? The anatomy of a Java method? How objects send messages to one another to accomplish collaboration
? How classes use public and private visibility to publicize what services a type of object can perform while hiding both the logic for how the service is accomplished and the internal data structure needed to support the service
? The use of constructors to instantiate the state of an object when first instantiated
Chapter 5: Relationships Between Objects
Chapter Goal: Explains the notion of a structural relationship between two objects, wherein the data structures of the classes to which they belong are designed to maintain lasting relationships between objects once instantiated. The two main approaches to accomplishing this are (a) encoding associations between two classes of objects as reference variables within their data structures, (b) having one class inherit and extend the capabilities of another.
Subtopics:
? Types of structural relationships maintained by objects: associations, aggregations, inheritance
? The inheritance mechanism, and guidelines for what we can and cannot achieve when deriving new classes via inheritance
? Revisiting constructors regarding some complexities that must be understood when inheritance is involved
Chapter 6: Collections of Objects
Chapter Goal: Introduce a special category of objects (classes) known as collections, to be used for efficiently managing an indefinite number of objects of the same type.
Subtopics:
? The properties of three generic collection types: ordered lists, sets, and dictionaries
? The specifics of several different commonly-used built-in Java collection types? The concept of Java packages as logical groupings of classes, and the use of import statements
? The power of collections in modeling very sophisticated real-world scenarios
? Design techniques for programmer-defined collection types
Chapter 7: Some Final Object Concepts
Chapter Goal: Covers several key but often misunderstood advanced language features that are essential to taking full advantage of Java’s object-oriented nature: polymorphism (how a single line of code representing a method invocation can exhibit a variety of different behaviors at run time); abstract methods, classes, and interfaces; and static features (data/methods belonging to an entire class of objects versus objects individually).
Subtopics:
? The runtime mechanism of polymorphism
? Abstract classes and methods
? The incredible power of interfaces in streamlining Java code
? Static features
Part II: Object Modeling 101
Chapter 8: The Object Modeling Process in a NutshellChapter Goal: A high-level overview of how to approach the requirements of a system so as to structure it from the ground up to take advantage of all of the strengths of an OO language like Java.
Subtopics:
? The goals of and philosophy begin object modeling
? Flexibility in terms of selecting or devising a modeling methodology
? The pros and cons of using object modeling software tools
Chapter 9: Formalizing Requirements Through Use Cases
Chapter Goal: Explains the importance of developing use cases when establishing requirements for an application, to ensure that (a) all categories of intended user are identified, (b) all of the services that each user category will expect the system to provide, and (c) what their expectations are of the desired outcome for each of the service types.
Subtopics:
? Introduction to use cases
? The notion of actors
? Involving users in defining use cases
? Approaches to documenting/diagramming use cases
Chapter 10: Modeling the Data Aspects of the System
Chapter Goal: Illustrate the process by which the types of classes, their respective data structures, and their interrelationships can be discovered and rendered graphically using UML notation.
Subtopics:
? Technique for identifying the appropriate classes and their respective attributes? Technique for determining the structural relationships that exist among these classes
? How to graphically portray this information in proper UML notation
Chapter 11: Modeling the Behavioral Aspects of the System
Chapter Goal: Revisiting the evolving object model of chapter 10 to reflect the services/behaviors/methods required of each identified class to ensure that the overall requirements of the application will be satisfied.
Subtopics:
? How the behaviors (method execution) of an object affects its state (data)
? Developing scenarios for how use cases (defined in chapter 9) might play out
? Creating sequence diagrams based on scenarios
? Using sequence diagrams to determine methods
Chapter 12: Wrapping Up Our Modeling Efforts
Chapter Goal: This chapter focuses on ways to test a model before coding begins, as well as
Subtopics:
? Testing the model
? Revisiting requirements and adapting the model as necessary
? Reusing models in the form of design patterns
Part III: Translating an Object Blueprint into Java Code
Chapter 13: A Few More Key Java Details (retitled from 2nd edition)Chapter Goal: Covering a variety of important Java topics that were not essential to illustrating the object concepts of Part I per se, but which are nonetheless key to a rounding out a beginning level Java programmer’s facility with the language. I plan on eliminating a few sections from this chapter if I determine that any of the topics covered are *not* essential to understanding the Student Registration System (SRS) code of chapter 14.
Subtopics:
? Java application architecture, revisited
? Nature and purpose of Java Archive (JAR) files
? Java documentation comments
? Object nature of Strings
? Java enums (enumerations)
? Object self-referencing via the “this” keyword
? The nature of run-time exceptions, how to handle them, and how to define and use custom exception types
? Important features of the built-in Object class
? Techniques for command line input
? Remove: discussion of inner classes (no longer needed since we are eliminating the chapter on the Swing API)
? Remove: narrative regarding Java version 5 language enhancementsChapter 14: Transforming Your Model into Java Code
Chapter Goal: In this chapter, I pull together all that we’ve covered in Part I of the book to render the UML model created in Part II of the book into a complete, fully functioning model layer for the Student Registration System. This code can be run from the command line, and will be downloadable from the Apress website.
Subtopics: How to code …
? … associations of varying multiplicities (one-to-one, one-to-many, many-to-many)
? … inheritance relationships
? … association classes
? … reflexive associations
? … abstract classes? … metadata
? … static attributes and methods
Chapter 15: Three Tier Architectures: Considerations for Adding a User Interface and Data Layer to Your Application
Chapter Goal: Conceptually introduce the notion of model ? presentation layer ? data layer separation, using pseudocode examples to illustrate how these layers interact with the model layer code of chapter 14.
Subtopics:
? Overview of the power of model ? presentation layer ? data layer separation
? Concept of operations for the Student Registration System user interface
? Detailed walk-through of pseudocode illustrating (a) how the data layer is used to validate and persist model layer logic, (b) how the user interface/presentation layer is used to receive data and operational requests from a user
?
저자소개
추천도서
분야의 베스트셀러 >















