1 / 22

CSE115: Introduction to Computer Science I

CSE115: Introduction to Computer Science I. Dr. Carl Alphonce 343 Davis Hall 645-4739 alphonce@buffalo.edu. Agenda. Announcements Cell phones / laptops off & away / Name signs out Last time Composition relationship Lifetime/Scope Today Unified Modeling Language (UML) composition

bessie
Download Presentation

CSE115: Introduction to Computer Science I

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CSE115: Introduction to Computer Science I Dr. Carl Alphonce 343 Davis Hall 645-4739 alphonce@buffalo.edu

  2. Agenda • Announcements • Cell phones / laptops off & away / Name signs out • Last time • Composition relationship • Lifetime/Scope • Today • Unified Modeling Language (UML) • composition • Naming conventions • Methods

  3. whole/part creation in code(elaborated) • Whole creates instance of part in its constructor • In Java code, involves 3 changes to whole class: • Declaration of instance variable of part type • Instantiation of part class in whole class constructor • Assignment of new part instance to instance variable

  4. Dog – Tail example in Java package cse115; public class Dog { private Tail _tail; public Dog() { _tail = new Tail(); } }

  5. UML Unified Modeling Language (Class Diagrams)

  6. UML • Unified Modeling Language • express design without reference to an implementation language • For example

  7. Composition in UML

  8. Binary Class Relationships:directional • binary  two classes are involved • source class has code modification • target class does not • composition • source: WHOLE • target: PART • in diagram: • line decoration is on source/WHOLE • show only detail that’s needed/desired

  9. package cse115; public class Dog { public Dog() { } } package cse115; public class Tail { public Tail() { } }

  10. package cse115; public class Dog { private Tail _tail; public Dog() { _tail = new Tail(); } } package cse115; public class Tail { public Tail() { } }

  11. Naming conventions • packages: all lower case • classes: • first character: upper case letter • camel case afterwards • instance variables • first character: underscore ‘_’ • camel case afterwards • local variables • first character: lower case • camel case afterwards

  12. Constructor definition package lab2; public class EcoSystem { private example1.Terrarium _t; public EcoSystem() { _t = new example1.Terrarium(); } public void addTwoCaterpillars() { example1.Caterpillar c1 = new example1.Caterpillar(); example1.Caterpillar c2 = new example1.Caterpillar(); _t.add(c1); _t.add(c2); c1.start(); c2.start(); } } Method definition

  13. The scope of an instance variable declaration is the entire class body. The variable can (and should) be assigned an initial value (initialized) in… The variable can be used in any method of the class. Here’s a method definition. Both the constructor and this method are in the scope of the instance variable declaration. The instance variable can (and should) be assigned an initial value (initialized) in… the constructor. It can be used in any method in class body. package lab2; public class EcoSystem { private example1.Terrarium _t; public EcoSystem() { _t = new example1.Terrarium(); } public void addTwoCaterpillars() { example1.Caterpillar c1 = new example1.Caterpillar(); example1.Caterpillar c2 = new example1.Caterpillar(); _t.add(c1); _t.add(c2); c1.start(); c2.start(); } }

  14. Method definition syntax method definition public void addTwoCaterpillars() { example1.Caterpillar c1 = new example1.Caterpillar(); example1.Caterpillar c2 = new example1.Caterpillar(); _t.add(c1); _t.add(c2); c1.start(); c2.start(); }

  15. Method definition syntax • Remember that method definition consists of both a method header a method body. public void addTwoCaterpillars() { example1.Caterpillar c1 = new example1.Caterpillar(); example1.Caterpillar c2 = new example1.Caterpillar(); _t.add(c1); _t.add(c2); c1.start(); c2.start(); }

  16. Method definition syntax • Here’s the method body. public void addTwoCaterpillars(){ example1.Caterpillar c1 = new example1.Caterpillar(); example1.Caterpillar c2 = new example1.Caterpillar(); _t.add(c1); _t.add(c2); c1.start(); c2.start(); }

  17. Method definition syntax • The method header begins with an access control modifier, public in this case. public void addTwoCaterpillars() { example1.Caterpillar c1 = new example1.Caterpillar(); example1.Caterpillar c2 = new example1.Caterpillar(); _t.add(c1); _t.add(c2); c1.start(); c2.start(); }

  18. Method definition syntax return type specification ‘void’ is a special return type specification, indicating that no value is returned by the method public voidaddTwoCaterpillars() { example1.Caterpillar c1 = new example1.Caterpillar(); example1.Caterpillar c2 = new example1.Caterpillar(); _t.add(c1); _t.add(c2); c1.start(); c2.start(); }

  19. Method definition syntax Next comes the name of the method. Method names follow the same convention as local variables public void addTwoCaterpillars() { example1.Caterpillar c1 = new example1.Caterpillar(); example1.Caterpillar c2 = new example1.Caterpillar(); _t.add(c1); _t.add(c2); c1.start(); c2.start(); }

  20. Method definition syntax parameter list – empty in this example remember: argument list  method call parameter list  method definition public void addTwoCaterpillars() { example1.Caterpillar c1 = new example1.Caterpillar(); example1.Caterpillar c2 = new example1.Caterpillar(); _t.add(c1); _t.add(c2); c1.start(); c2.start(); }

  21. Method definition syntax method body – delimited by braces public void addTwoCaterpillars() { example1.Caterpillar c1 = new example1.Caterpillar(); example1.Caterpillar c2 = new example1.Caterpillar(); _t.add(c1); _t.add(c2); c1.start(); c2.start(); }

  22. Method definition syntax • statements & (local variable) declarations – consists of local variable declarations and statements, which in this case are all method calls. public void addTwoCaterpillars() { example1.Caterpillar c1 = new example1.Caterpillar(); example1.Caterpillar c2 = new example1.Caterpillar(); _t.add(c1); _t.add(c2); c1.start(); c2.start(); }

More Related