SlideServe
Menu
Préférences
© SlideServe · v2026

Object-Oriented Class Development Guidelines

lbest avatar
27 diapositives · 334 Views · Jan 05, 2020

Learn about class development, relationships among classes, and wrapper classes in object-oriented software development. Understand association, aggregation, and inheritance in class design. Follow design guidelines and create generic classes.

Object-Oriented Class Development Guidelines - slide 1
01 / 27Object-Oriented Class Development Guidelines
1 / 17

Télécharger la présentation

Object-Oriented Class Development Guidelines
Une image / un lien ci-dessous est fourni (tel quel) pour télécharger la présentation

Politique de téléchargement : le contenu du site vous est fourni TEL QUEL pour votre information et votre usage personnel ; il ne peut être vendu, concédé sous licence ni partagé sur d’autres sites sans l’accord de son auteur.Le contenu vous est fourni TEL QUEL, pour votre information et votre usage personnel uniquement. Téléchargez la présentation en cliquant sur ce lien. Lors du téléchargement, si vous ne parvenez pas à télécharger une présentation, l’éditeur a peut-être supprimé le fichier de son serveur.Pendant le téléchargement, si vous ne parvenez pas à obtenir une présentation, le fichier a peut-être été supprimé par l’éditeur.

F I N

Plus de contenu associé

Transcription de la présentation
  1. Chapter 9Object-Oriented Software Development • Software Development Process • Analyze Relationships Among Objects • Class Development • Class Design Guidelines • Wrapper Classes • Generic Sort Class • Generic Matrix Class • Generic Linked List Class

  2. Software Development Process

  3. Relationships among Classes • Association • Aggregation • Inheritance

  4. Association Association represents a general binary relationship that describes an activity between two classes.

  5. Association, cont. An association is usually represented as a data field in the class. public class Course { private Faculty faculty;   /**Constructors*/   /**Methods*/ }

  6. Aggregation Aggregation is a special form of association, which represents an ownership relationship between two classes. Aggregation models the relationship like has-a, part-of, owns, and employed-by.

  7. Inheritance Inheritance models the is-a relationship between two classes.

  8. Inheritance public class Student extend Person { /**Constructors*/   /**Methods*/ } public class Faculty extend Person { /**Constructors*/ /**Methods*/ }

  9. Class Development 1. Identify classes for the system. 2. Describe attributes and methods in each class. 3. Establish relationships among classes. 4. Create classes.

  10. Example 9.1 Borrowing Mortgages Name Mortgage Person Borrower Address

  11. Example 9.1 Borrowing Mortgages, cont. The following is a test program that uses the classes Name, Person, Address, Borrower, and Mortgage. Run BorrowMortgage

  12. Example 9.2 The Rational Class Rational TestRationalClass Run

  13. Class Design Guidelines • Hide private data and private methods. • A property that is shared by all the instances of the class should be declared as a class property. • Provide a public default constructor and override the equals method and the toString method defined in the Object class whenever possible.

  14. Class Design Guidelines, cont. • Choose informative names and followconsistent styles. • A class should describe a single entity or a set of similar operations. • Group common data fields and operations shared by other classes.

  15. Wrapper Classes • Integer • Long • Float • Double • Boolean • Character • Short • Byte

  16. The Integer Classand The Double Class • Constructors • Class Constants MAX_VALUE, MIN_VALUE • Conversion Methods

  17. Example 9.3 Sorting an Array of Objects Objective: The example presents a generic method for sorting an array of objects. The objects are instances of the Comparable interface and they are compared using the compareTo method. Run Generic Sort

  18. Example 9.4Designing Generic Classes • Objective: This example gives a generic class for matrix arithmetic. This class implements matrix addition and multiplication common for all types of matrices. GenericMatrix

  19. Example 9.4, cont.

  20. Example 9.4, cont. • Objective: This example gives two programs that utilize the GenericMatrix class for integer matrix arithmetic and rational matrix arithmetic. IntegerMatrix Run TestIntegerMatrix Rational Matrix TestRationalMatrix Run

  21. Linked List Arrays are useful for storing and managing a set of elements of the same type. However, since the length of an array is fixed once the array is created, you need to know the length of the array before you create it. A linked list can grow or shrink dynamically as needed. A linked list consists of nodes, as shown in Figure 9.14. Each node contains an element and each node is linked to its next neighbor. Thus, a node can be defined as a class as follows:

  22. Linked List Structure public class Node { Object element; Node next; public Node(Object o) { element = o; } }

  23. Create a Linked List with three Nodes Node n1 = new Node(new String(“Welcome to Java!”)); Node n2 = new Node(new JButton(“OK”)); Node n3 = new Node(new Rational(1, 2)); n1.next = n2; n2.next = n3; Node first = n1; Node last = n3;

  24. Generic Linked List Add a new node

  25. Generic Linked List Remove a new node

  26. Example 9.5 Using Linked List • This example creates a linked list using GenericLinkedList. It then uses the add method to add strings to the list and uses the remove method to remove strings from the list. GenericLinkedList TestLinkedList Run

  27. Generic Linked List GenericLinkedList list = new GenericLinkedList(); list.addLast(new String(“Welcome to Java”)); list.addLast(new JButton(“OK”)); list.addLast(new Rational(1, 2));