8/10/2019 Presentacin 2 - Objetos II
1/34
Objects & Classes II
Christian Rodrguez Bustos
Object Oriented Programming
Objects & Classes
8/10/2019 Presentacin 2 - Objetos II
2/34
Agenda
Objects & Classes
User definedtypes
Last ClassActivity
ModelingClasses
Working withlist of objects
8/10/2019 Presentacin 2 - Objetos II
3/34
Data redundancy & Data integrity
Objects as attributes
User defined types
8/10/2019 Presentacin 2 - Objetos II
4/34
Do you remember the Student Class?
Attribute Type
Id Long
User String
First Name String
Last Name String
Birth Date Date
Group Taught int
Objects & Classes
8/10/2019 Presentacin 2 - Objetos II
5/34
Data redundancy !!!
Objects & Classes
Data redundancy !!!
All students are linked
to different groups
Student A
Student B
Student C
Group
Number 3
GroupNumber 3
GroupNumber 3
8/10/2019 Presentacin 2 - Objetos II
6/34
Changing enviroment
Objects & Classes
The old groupnumber is 3
The new groupnumber is 1003
8/10/2019 Presentacin 2 - Objetos II
7/34
Loss of data integrity
Objects & Classes
Loss of dataintegrity
All students are usingdifferent instancesand probably do notwork with an update
object
Student A
Student B
Student C
Group
Number1003
GroupNumber
1003
Group
Number 3
8/10/2019 Presentacin 2 - Objetos II
8/34
Objects as attributes
Objects & Classes
Solution is
Objects as attributes
8/10/2019 Presentacin 2 - Objetos II
9/34
Avoid data redundancy
Objects & Classes
Avoid dataredundancy and
loss of data integrity
All students can use
the same Groupinstance
Student A
Student B
Student C
Group
Number 3
8/10/2019 Presentacin 2 - Objetos II
10/34
Class List
Class Definitions
Last Class activity
Objects & Classes
8/10/2019 Presentacin 2 - Objetos II
11/34
1. Abstract the model to submit the grades of astudent in the SIA (Classes, behaviors, attributes,etc)
2. Create a Java project in NetBeans or Eclipse
3. Create the Java classes of the proposed model
4. Encapsulate the classes
Last Class activity
Objects & Classes
8/10/2019 Presentacin 2 - Objetos II
12/34
8/10/2019 Presentacin 2 - Objetos II
13/34
Class Student
Attribute Type
Id Long
User String
First Name String
Last Name String
Birth Date Date
Attends List of Groups
List of User defineobjects can be used
as attributes
Objects & Classes
8/10/2019 Presentacin 2 - Objetos II
14/34
Class Professor
Objects & Classes
Attribute Type
Id Long
User String
First Name String
Last Name String
Birth Date Date
Groups Taught List of Groups
8/10/2019 Presentacin 2 - Objetos II
15/34
Class Course
Objects & Classes
Attribute Type
Number Long
Name StringOffered As List of Groups
8/10/2019 Presentacin 2 - Objetos II
16/34
Class Grade
Objects & Classes
Attribute Type
Student Student
Group GroupGrade double
8/10/2019 Presentacin 2 - Objetos II
17/34
Class Group
Objects & Classes
Attribute Type
Number Long
Days Of Week String Array
Times Of Day String Array
Semester String
Represents Course
Taught By Professor
Attended By List of Student
Issue List of Grades
8/10/2019 Presentacin 2 - Objetos II
18/34
UML
UML Class Diagram
Modeling Classes
8/10/2019 Presentacin 2 - Objetos II
19/34
Unified Modeling Language(UML) is a standardized
general-purpose modelinglanguage in the field of object-
oriented software
engineering
s a stan ar ze genera -purpose mo e nglanguage
Objects & Classes
8/10/2019 Presentacin 2 - Objetos II
20/34
s a stan ar ze genera -purpose mo e nglanguage
Objects & Classes
There are severaldiagrams in UML for
modeling objectoriented systems
Activity diagramsand class diagrams
are two examples
8/10/2019 Presentacin 2 - Objetos II
21/34
UML Class diagram
Objects & Classes
Describes the staticstructure of a systemshowing
Classes: Name
Attributes
Methods
Relationships betweenclasses
8/10/2019 Presentacin 2 - Objetos II
22/34
Showing classes
Objects & Classes
Classes can be
shown at differentdetail level
8/10/2019 Presentacin 2 - Objetos II
23/34
Showing relationships between classes
Objects & Classes
A Professor teaches one or moreGroups
8/10/2019 Presentacin 2 - Objetos II
24/34
Showing relationships between classes
Objects & Classes
A Professor teaches one or moreGroups
8/10/2019 Presentacin 2 - Objetos II
25/34
Showing relationships between classes
Objects & Classes
Multiplicity
8/10/2019 Presentacin 2 - Objetos II
26/34
Multiplicity
Objects & Classes
Is the number of objects that participate inthe relationship
0..1 No instances, or one instance (optional,may)
1 Exactly one instance
0..* or * or 0..n Zero or more instances
1..* One or more instances (at least one)
8/10/2019 Presentacin 2 - Objetos II
27/34
From model to code
Objects & Classes
8/10/2019 Presentacin 2 - Objetos II
28/34
Objects & Classes
8/10/2019 Presentacin 2 - Objetos II
29/34
Array List Basics
Working with list of objects
Objects & Classes
8/10/2019 Presentacin 2 - Objetos II
30/34
Array List Basics
Instantiation
Addingelements
Objects & Classes
8/10/2019 Presentacin 2 - Objetos II
31/34
Array List Basics
Obtaining objects
Obtaining list size
Objects & Classes
8/10/2019 Presentacin 2 - Objetos II
32/34
Iterating through Array Lists
Objects & Classes
8/10/2019 Presentacin 2 - Objetos II
33/34
1. Abstract the model to submit the grades of a student inthe SIA (Classes, behaviors, attributes, etc)
2. Create a Java project in NetBeans or Eclipse
3. Create the Java classes of the proposed model
4. Encapsulate the classes
Now is your turn for using your model
Objects & Classes
8/10/2019 Presentacin 2 - Objetos II
34/34
[Barker] J. Barker, Beginning Java Objects: From Concepts To
Code, Second Edition, Apress, 2005.
[Deitel] H.M. Deitel and P.J. Deitel, Java How to Program, PrenticeHall, 2007 - 7th ed.
[Sierra] K. Sierra and B. Bates, Head First Java, 2nd Edition,O'Reilly Media, 2005.
References
Objects & Classes
Top Related