Presentación 2 - Objetos II

Embed Size (px)

Citation preview

  • 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