Overview of Eclipse Lectures. Module Road Map

Size: px
Start display at page:

Download "Overview of Eclipse Lectures. Module Road Map"

Transcription

1 Overview of Eclipse Lectures 1. Overview 2. Installing and Running 3. Building and Running Java Classes 4. Refactoring Lecture 2 5. Debugging 6. Testing with JUnit 7. Version Control with CVS 1 Module Road Map 1. Overview 2. Installing and Running 3. Building and Running Java Classes Developing Java applications Projects, packages, classes Browsing Java code Searching Java code Organizing Java code Using Code Assist Running Java applications Scrapbook 4. Refactoring 5. Debugging 6. Testing with JUnit 7. Version Control with CVS 2 1

2 Building and Running Java Classes» Using Code Assist When activated, code assist opens a list of available code completions Code Assist activates by Crtl+Space Activates automatically when a message needs to be sent to an object (after the dot is typed) 3 Building and Running Java Classes» Using Quick Fix Useful if Java compiler shows errors Gives options for fixing the errors Activated through Edit» Quick Fix menu option Error indication 4 2

3 Building and Running Java Classes» Searching for Java Classes When developing Java application a good search mechanism is very important You often search for class, method declarations, and references It is important to be able to find things quickly Eclipse Java Search mechanism is very extensive It allows you to search for: Types, methods, constructors, packages, and fields Declarations, Implementers, References In the scope of Workspace, Working Set, or Selected Resources 5 Building and Running Java Classes» Running Java Classes To Run Java application Choose Run» Run from the menu Standard Java output is displayed in the console window 6 3

4 Building and Running Java Classes» Console View Represents standard Java console Opens by default when standard Java output is used Can also be open from Window» Show View menu System.out.println("Hello World"); 7 Building and Running Java Classes» Scrapbook Allows for writing and executing of Java code Very useful for quick test of Java code that you write The Java code in the Scrapbook can be: Displayed as a string when evaluated Inspected when evaluated Opens an Inspector view where you can see returning object from evaluation and all containing fields Executed 8 4

5 Building and Running Java Classes» Scrapbook It is created by selecting a project and choosing New» Other from the Package Explorer s context menu This opens up the New dialog box Expand Java Expand Java Run/Debug under Java Select Scrapbook page and click Next. This will open New Scrapbook page Enter the name of the page Your scrapbook page will become a resource in your project 9 Building and Running Java Classes» Scrapbook To open the scrapbook page just click on the resource It opens up like a Java source file editor Type Java code and select the context menu to Display or Inspect 10 5

6 Building and Running Java Classes» Scrapbook Class names must be fully qualified in what you type Set imports to make life easier Think of your scrapbook as a page that Eclipse will take the source you type, wrap it in a class with your source in the main menu, then compile and execute 11 Building and Running Java Classes» Summary You have learned: How to create projects, packages and classes How to browse Java code and search for Java code How to use coding assistance How to run Java code How to use the Scrapbook 12 6

7 Exercise 2 Create a new class titled NewClass and add it to the package csc517 in the project EgApp you have created in Exercise 1. Add a private integer field (member variable) mvar to the class NewClass. Add a constructor method to accept an integer to initialize the private integer field mvar. Add a public method printfield that takes no parameters and returns void. Add code to the printfield method to print the value of the private variable mvar to the standard output. Instantiate an object of type NewClass in the main() routine of the MainClass. Call the printfield routine of the NewClass object. Run the project EgApp. What do you see in the Console window? 13 Module Road Map 1. Overview 2. Installing and Running 3. Building and Running Java Classes 4. Refactoring Why Refactoring? Examples Common Refactorings 5. Debugging 6. Testing with JUnit 7. Version Control with CVS 14 7

8 Refactoring» Organizing Java Code Eclipse comes with extensive support for organizing and refactoring Java code It is possible to: Generate getters and setters for the fields Organize missing import statements Move fields, methods, classes Rename methods, classes, packages 15 Refactoring» What is Refactoring? Refactoring is the process of changing a software system so that the external behavior is not altered, but the internal structure is improved. Refactoring ( is a behavior-preserving transformation. 16 8

9 Refactoring» Why Refactoring? Methods might no longer do (only) what their name suggests. Functionality that should be in two different classes might be in the same class. Functionality that should be in one class might be duplicated in two or more classes. Improve the design of existing code. Gain a better understanding of the code. 17 Refactoring» Example Consider a method for computing the room charge for a hotel: public double getroomcharge() { double roomcharge = 0.0;... code to compute room charge... return roomcharge; What other factors might go into computing the room charge? 18 9

10 Refactoring» Example Of course, to print out a bill for a customer, we also need to include incidentals and taxes public double getroomcharge() { double roomcharge = 0.0;... code to compute room charge... //now add the incidentals to roomcharge... code to add up incidentals... //now add the tax for the room to the charge...several lines of code to compute the tax... return roomcharge; What s inelegant about this method now? 3 sets of calculations in one function. Method does 3 things. The name is not illustrative of what the method does. 19 Refactoring» Example Better: Changing the name of the method (for example, calculatecustomercharge). Does this fix the problem? No, We also need to change the name at all call sites. We need to update the documentation. If this method overrides a method in another class, the other name may need to be changed too. Ditto if this method implements an interface. This is known as the Rename Method refactoring

11 Refactoring» Example Let s refactor our getroomcharge() method. public double calculatecustomercharge() { double roomcharge = getroomcharge(); double incidentals = getincidentals(); double tax = gettax(roomcharge,, incidentals); return roomcharge + incidentals + tax; What have we done? We defined additional methods to compute incidentals, tax, etc. In order to do this, we added local variables for the quantities that are being calculated in the new methods. Some pre-existing local variables ended up being parameters to the new method. The returned value is different from what was returned in the preexisting method. 21 Refactoring» Common Refactorings Rename Methods, Fields, Packages, Projects, Parameters, or Local Variables Encapsulate Field (generate getter and setter) Pull up a Field or Method (into superclass) Push down a Field or Method (into subclass) Extract Method, Local Variable, or Constant from an Expression Change Method Signature 22 11

12 Refactoring» Renaming a Method Using Eclipse In a Java view showing methods (e.g., the Outline view) select the method to be renamed. From the view's pop-up menu, select Refactor» Rename, or select Refactor» Rename from the global menu bar or In a Java editor, select a reference to or the declaration of the method to be renamed. From the editor's pop-up menu, select Refactor» Rename, or select Refactor» Rename from the global menu bar. This pops up the Rename Method dialog box. Click Preview to preview the changes, or click OK to perform the refactoring. 23 Refactoring» Encapsulating a Field The Encapsulate Field refactoring can be used to convert a public instance variable into a private instance variable with accessor functions. Example: Inelegant code public PublicFieldClass{ public String name ; public OtherClass{ public static void main(string[] args){ PublicFieldClass example = new PublicFieldClass(); example.name = "Joe"; System.out.println("My name is " + example.name); 24 12

13 Refactoring» Encapsulating a Field After refactoring, we have public EncapsulatedFieldClass{ private String name; public String getname(){ return name; public setname(string newname){ name = newname; public OtherClass{ public static void main(string[] args){ EncapsulatedFieldClass example = new EncapsulatedFieldClass() example.setname("joe") ") ; System.out.println("My name is " + example.getname()) ; 25 Refactoring» Encapsulating a Field Using Eclipse Select the field in one of the Java views (e.g., Outline, Package Explorer or Members view). From the field's pop-up menu, select Refactor» Encapsulate Field, or from the menu bar, select Refactor» Encapsulate Field Alternatively, in the Java editor, select the field. From the menu bar, select Refactor» Encapsulate Field, or from the editor's pop-up menu, select Refactor» Encapsulate Field This pops up the Encapsulate Field dialog. Type the names of the accessor routines in the Getter name and Setter name text fields. Click Preview to preview the changes or Click OK to perform refactoring

14 Refactoring» Pull Up Method Moves a field or method to a superclass of its declaring class. Suppose you have the same method or nearly the same method in two different classes in your system. It may be a good idea to centralize the behavior in a superclass. public class Employee extends Person { String getname() {... public class Student extends Person { String getname() { Refactoring» Pull Up Method After the Pull up Method refactoring is applied public class Person { String getname() {

15 Refactoring» Pull Up Method Using Eclipse In a Java view (e.g., Outline, Package Explorer, Members), select the members that you want to pull up. From the menu bar, select Refactor» Pull Up or from the pop-up menu, select Refactor» Pull Up. This pops up the Pull up dialog. Select the methods to pull up and their new declaring class. Click Next. Select the methods to be removed in the subtypes after pull up and click Next to review the changes. 29 Refactoring» Push Down Method Reverse of Pull up Method. Moves a set of methods and fields from a class to its subclasses. Can be used when some of the subclasses do not use a method defined in the superclass

16 Refactoring» Push Down Method Using Eclipse In a Java view (e.g., Outline, Package Explorer, Members), select the members that you want to push down. From the menu bar, select Refactor» Push Down or from the pop-up menu, select Refactor» Push Down. The Push Down dialog will open. Click Preview to preview the changes or click OK to perform the refactoring. 31 Refactoring» Extracting a Local Variable An expression that occurs in more than one place is replaced with a local variable, whose value is calculated only once. If a program needs to use the same value in multiple places, it can be calculated only once and then used wherever needed. Advantages Makes the code more efficient. Makes the code more readable. Creates a single point of maintenance for the logic of computing the expression

17 Refactoring» Extracting a Local Variable Using Eclipse In a Java editor, select the expression that you want to extract to a local variable. From the editor's pop-up menu, select Refactor» Extract Local Variable or from the menu bar, select Refactor» Extract Local Variable. This will open the Extract Local Variable dialog box. Type the name of the variable in the Variable name text field. Click Preview to preview the changes or click OK to perform the refactoring. 33 Refactoring» Extracting a Method Creates a new method containing the statements or expression currently selected and replaces the selection with a reference to the new method. Advantages Code readability Minimize code duplication 34 17

18 Refactoring» Extracting a Method Using Eclipse In an editor, select a set of statements or an expression from a method body. From the pop-up menu in the editor, select Refactor» Extract Method from the menu bar, select Refactor» Extract Method. This opens the Extract Method dialog box. Type the method name in the Method name text field. In the Access Modifier list, specify the method's visibility (public, default, protected, or private). Click Preview to preview the changes or click OK to perform the refactoring. 35 Refactoring» Change Method Signature Select the method in a Java view (e.g. Outline, Package Explorer, Members). From the menu bar, select Refactor» Change Method Signature or from the method's pop-up menu, select Refactor» Change Method Signature. This opens the Change Method Signature dialog box. Use the Access Modifier drop-down to control the method's visibility. Change the method's return type or name by editing the provided text fields. Select one or more parameters and use the Up and Down buttons to reorder the parameters (you can see a signature preview below the parameter list). Use the Add button to add a parameter; you can then edit its type, name and default value in the table. Switch to the Exceptions tab to add or remove thrown exceptions. Click Preview to preview the changes 36 18

19 Other Refactorings Supported by Eclipse Renaming a package a compilation unit a type a local variable method parameters Extracting a constant an interface from a type Inlining a local variable a method a constant static members between types an instance method to a component 37 Converting a local variable to a field an anonymous inner class to a nested class a nested type to a top level type Replacing references to a type with references to one of its supertypes a single reference to a type with a reference to one of its supertypes an expression with a method parameter constructor calls with factory method invocations Refactorings Supported by NetBeans (v 5.0) Renaming a package a compilation unit a type a local variable method parameters Extracting a constant an interface from a type Inlining a local variable a method a constant static members between types an instance method to a component 38 Converting a local variable to a field an anonymous inner class to a nested class a nested type to a top level type Replacing references to a type with references to one of its supertypes a single reference to a type with a reference to one of its supertypes an expression with a method parameter constructor calls with factory method invocations 19

20 Exercise 3 Change the name of the class NewClass that was created in Exercise 2 in the project EgApp to RefactoredClass. Change the name of the method printfield in the class RefactoredClass to refactoredprintfield. Review the changes that will be made by Eclipse using the Preview option. Compile and Run the project EgApp

Tutorial 02: Writing Source Code

Tutorial 02: Writing Source Code Tutorial 02: Writing Source Code Contents: 1. Generating a constructor. 2. Generating getters and setters. 3. Renaming a method. 4. Extracting a superclass. 5. Using other refactor menu items. 6. Using

More information

Module Road Map. 7. Version Control with Subversion Introduction Terminology

Module Road Map. 7. Version Control with Subversion Introduction Terminology Module Road Map 1. Overview 2. Installing and Running 3. Building and Running Java Classes 4. Refactoring 5. Debugging 6. Testing with JUnit 7. Version Control with Subversion Introduction Terminology

More information

Lab Exercise Refactoring using Eclipse

Lab Exercise Refactoring using Eclipse Lunds tekniska högskola Datavetenskap, Nov, 2017 Torbjörn Ekman and Görel Hedin (Modified from cvs to git by Ulf Asklund) EDAF45 Programvaruutveckling i grupp projekt Lab Exercise Refactoring using Eclipse

More information

Refactoring with Eclipse

Refactoring with Eclipse Refactoring with Eclipse Seng 371 Lab 8 By Bassam Sayed Based on IBM article Explore refactoring functions in Eclipse JDT by Prashant Deva Code Refactoring Code refactoring is a disciplined way to restructure

More information

Introduction to Eclipse

Introduction to Eclipse Introduction to Eclipse Ed Gehringer Using (with permission) slides developed by Dwight Deugo (dwight@espirity.com) Nesa Matic (nesa@espirity.com( nesa@espirity.com) Sreekanth Konireddygari (IBM Corp.)

More information

Classes and Objects 3/28/2017. How can multiple methods within a Java class read and write the same variable?

Classes and Objects 3/28/2017. How can multiple methods within a Java class read and write the same variable? Peer Instruction 8 Classes and Objects How can multiple methods within a Java class read and write the same variable? A. Allow one method to reference a local variable of the other B. Declare a variable

More information

Notes on Chapter Three

Notes on Chapter Three Notes on Chapter Three Methods 1. A Method is a named block of code that can be executed by using the method name. When the code in the method has completed it will return to the place it was called in

More information

How We Refactor, and How We Know It

How We Refactor, and How We Know It Emerson Murphy-Hill, Chris Parnin, Andrew P. Black How We Refactor, and How We Know It Urs Fässler 30.03.2010 Urs Fässler () How We Refactor, and How We Know It 30.03.2010 1 / 14 Refactoring Definition

More information

Carrera: Analista de Sistemas/Licenciatura en Sistemas. Asignatura: Programación Orientada a Objetos

Carrera: Analista de Sistemas/Licenciatura en Sistemas. Asignatura: Programación Orientada a Objetos Carrera: / Asignatura: Programación Orientada a Objetos REFACTORING EXERCISE WITH ECLIPSE - 2008- Observation: This refactoring exercise was extracted of the web site indicated in the section Reference

More information

CHAPTER 3. Using Java Development Tools

CHAPTER 3. Using Java Development Tools CHAPTER 3 Using Java Development Tools Eclipse provides a first-class set of Java Development Tools (JDT) for developing, running, and debugging Java code. These tools include perspectives, project definitions,

More information

Software and Programming 1

Software and Programming 1 Software and Programming 1 Week 9 Lab - Use of Classes and Inheritance 8th March 2018 SP1-Lab9-2018.ppt Tobi Brodie (Tobi@dcs.bbk.ac.uk) 1 Lab 9: Objectives Exercise 1 Student & StudentTest classes 1.

More information

Refactoring. Refactoring Techniques

Refactoring. Refactoring Techniques Refactoring Refactoring Techniques Code Quality is Important! Refactoring is... A disciplined technique for restructuring an existing body of code, altering its internal structure without changing its

More information

Distributed Systems Recitation 1. Tamim Jabban

Distributed Systems Recitation 1. Tamim Jabban 15-440 Distributed Systems Recitation 1 Tamim Jabban Office Hours Office 1004 Sunday, Tuesday: 9:30-11:59 AM Appointment: send an e-mail Open door policy Java: Object Oriented Programming A programming

More information

CH. 2 OBJECT-ORIENTED PROGRAMMING

CH. 2 OBJECT-ORIENTED PROGRAMMING CH. 2 OBJECT-ORIENTED PROGRAMMING ACKNOWLEDGEMENT: THESE SLIDES ARE ADAPTED FROM SLIDES PROVIDED WITH DATA STRUCTURES AND ALGORITHMS IN JAVA, GOODRICH, TAMASSIA AND GOLDWASSER (WILEY 2016) OBJECT-ORIENTED

More information

Java Classes, Inheritance, and Interfaces

Java Classes, Inheritance, and Interfaces Java Classes, Inheritance, and Interfaces Introduction Classes are a foundational element in Java. Everything in Java is contained in a class. Classes are used to create Objects which contain the functionality

More information

Objects First with Java

Objects First with Java ^ Objects First with Java A Practical Introduction using BlueJ David J. Barnes and Michael Kolling Second edition PEARSON Prentice Hall Harlow, England London New York Boston San Francisco Toronto Sydney

More information

C08: Inheritance and Polymorphism

C08: Inheritance and Polymorphism CISC 3120 C08: Inheritance and Polymorphism Hui Chen Department of Computer & Information Science CUNY Brooklyn College 2/26/2018 CUNY Brooklyn College 1 Outline Recap and issues Project progress? Practice

More information

(a) Write the signature (visibility, name, parameters, types) of the method(s) required

(a) Write the signature (visibility, name, parameters, types) of the method(s) required 1. (6 pts) Is the final comprehensive? 1 2. (6 pts) Java has interfaces Comparable and Comparator. As discussed in class, what is the main advantage of Comparator? 3. (6 pts) We can use a comparator in

More information

Distributed Systems Recitation 1. Tamim Jabban

Distributed Systems Recitation 1. Tamim Jabban 15-440 Distributed Systems Recitation 1 Tamim Jabban Office Hours Office 1004 Tuesday: 9:30-11:59 AM Thursday: 10:30-11:59 AM Appointment: send an e-mail Open door policy Java: Object Oriented Programming

More information

Foundations of object orientation

Foundations of object orientation Foreword Preface List of projects discussed in detail in this book Acknowledgments Part 1 Chapter 1 Chapter 2 Foundations of object orientation Objects and classes 1.1 Objects and classes 1.2 Creating

More information

Informatik II (D-ITET) Tutorial 6

Informatik II (D-ITET) Tutorial 6 Informatik II (D-ITET) Tutorial 6 TA: Marian George, E-mail: marian.george@inf.ethz.ch Distributed Systems Group, ETH Zürich Exercise Sheet 5: Solutions and Remarks Variables & Methods beginwithlowercase,

More information

Index. Bitwise operations, 131. Cloud, 88, 101

Index. Bitwise operations, 131. Cloud, 88, 101 Index A Analysis, NetBeans batch analyzers, 127 dynamic code analysis, 128 Java 8 lambda expressions, 127 static code analysis definition, 128 FindBugs categories, 144 Inspect & Transform tool, 129 inspections,

More information

PART 1. Eclipse IDE Tutorial. 1. What is Eclipse? Eclipse Java IDE

PART 1. Eclipse IDE Tutorial. 1. What is Eclipse? Eclipse Java IDE PART 1 Eclipse IDE Tutorial Eclipse Java IDE This tutorial describes the usage of Eclipse as a Java IDE. It describes the installation of Eclipse, the creation of Java programs and tips for using Eclipse.

More information

Introduction to Programming Using Java (98-388)

Introduction to Programming Using Java (98-388) Introduction to Programming Using Java (98-388) Understand Java fundamentals Describe the use of main in a Java application Signature of main, why it is static; how to consume an instance of your own class;

More information

WA1278 Introduction to Java Using Eclipse

WA1278 Introduction to Java Using Eclipse Lincoln Land Community College Capital City Training Center 130 West Mason Springfield, IL 62702 217-782-7436 www.llcc.edu/cctc WA1278 Introduction to Java Using Eclipse This course introduces the Java

More information

Just Enough Eclipse What is Eclipse(TM)? Why is it important? What is this tutorial about?

Just Enough Eclipse What is Eclipse(TM)? Why is it important? What is this tutorial about? Just Enough Eclipse What is Eclipse(TM)? Eclipse is a kind of universal tool platform that provides a feature-rich development environment. It is particularly useful for providing the developer with an

More information

Java Object Oriented Design. CSC207 Fall 2014

Java Object Oriented Design. CSC207 Fall 2014 Java Object Oriented Design CSC207 Fall 2014 Design Problem Design an application where the user can draw different shapes Lines Circles Rectangles Just high level design, don t write any detailed code

More information

ICOM 4015 Advanced Programming Laboratory. Chapter 1 Introduction to Eclipse, Java and JUnit

ICOM 4015 Advanced Programming Laboratory. Chapter 1 Introduction to Eclipse, Java and JUnit ICOM 4015 Advanced Programming Laboratory Chapter 1 Introduction to Eclipse, Java and JUnit University of Puerto Rico Electrical and Computer Engineering Department by Juan E. Surís 1 Introduction This

More information

Programming II (CS300)

Programming II (CS300) 1 Programming II (CS300) Chapter 03: Creating Classes MOUNA KACEM mouna@cs.wisc.edu Spring 2019 Creating Classes 2 Constructors and Object Initialization Static versus non-static fields/methods Encapsulation

More information

Lecture 5: Methods CS2301

Lecture 5: Methods CS2301 Lecture 5: Methods NADA ALZAHRANI CS2301 1 Opening Problem Find the sum of integers from 1 to 10, from 20 to 30, and from 35 to 45, respectively. 2 Solution public static int sum(int i1, int i2) { int

More information

ECE 122. Engineering Problem Solving with Java

ECE 122. Engineering Problem Solving with Java ECE 122 Engineering Problem Solving with Java Lecture 6 Problem Definition and Implementation Outline Problem: Create, read in and print out four sets of student grades Setting up the problem Breaking

More information

Day 3. COMP 1006/1406A Summer M. Jason Hinek Carleton University

Day 3. COMP 1006/1406A Summer M. Jason Hinek Carleton University Day 3 COMP 1006/1406A Summer 2016 M. Jason Hinek Carleton University today s agenda assignments 1 was due before class 2 is posted (be sure to read early!) a quick look back testing test cases for arrays

More information

Object Oriented Programming: Based on slides from Skrien Chapter 2

Object Oriented Programming: Based on slides from Skrien Chapter 2 Object Oriented Programming: A Review Based on slides from Skrien Chapter 2 Object-Oriented Programming (OOP) Solution expressed as a set of communicating objects An object encapsulates the behavior and

More information

Programming II (CS300)

Programming II (CS300) 1 Programming II (CS300) Chapter 03: Creating Classes MOUNA KACEM mouna@cs.wisc.edu Spring 2018 Creating Classes 2 Constructors and Object Initialization Static versus non-static fields/methods Encapsulation

More information

Declarations and Access Control SCJP tips

Declarations and Access Control  SCJP tips Declarations and Access Control www.techfaq360.com SCJP tips Write code that declares, constructs, and initializes arrays of any base type using any of the permitted forms both for declaration and for

More information

CO Java SE 8: Fundamentals

CO Java SE 8: Fundamentals CO-83527 Java SE 8: Fundamentals Summary Duration 5 Days Audience Application Developer, Developer, Project Manager, Systems Administrator, Technical Administrator, Technical Consultant and Web Administrator

More information

ENCAPSULATION. private, public, scope and visibility rules. packages and package level access.

ENCAPSULATION. private, public, scope and visibility rules. packages and package level access. ENCAPSULATION private, public, scope and visibility rules. packages and package level access. Q. Explain the term Encapsulation with an example? Ans: The wrapping up to data and methods into a single units

More information

Java Fundamentals (II)

Java Fundamentals (II) Chair of Software Engineering Languages in Depth Series: Java Programming Prof. Dr. Bertrand Meyer Java Fundamentals (II) Marco Piccioni static imports Introduced in 5.0 Imported static members of a class

More information

Another IS-A Relationship

Another IS-A Relationship Another IS-A Relationship Not all classes share a vertical relationship. Instead, some are supposed to perform the specific methods without a vertical relationship. Consider the class Bird inherited from

More information

coe318 Lab 1 Introduction to Netbeans and Java

coe318 Lab 1 Introduction to Netbeans and Java coe318 Lab 1 Week of September 12, 2016 Objectives Lean how to use the Netbeans Integrated Development Environment (IDE). Learn how to generate and write formatted API documentation. Add a constructor,

More information

Graphical Interface and Application (I3305) Semester: 1 Academic Year: 2017/2018 Dr Antoun Yaacoub

Graphical Interface and Application (I3305) Semester: 1 Academic Year: 2017/2018 Dr Antoun Yaacoub Lebanese University Faculty of Science Computer Science BS Degree Graphical Interface and Application (I3305) Semester: 1 Academic Year: 2017/2018 Dr Antoun Yaacoub 2 Crash Course in JAVA Classes A Java

More information

CSC 1214: Object-Oriented Programming

CSC 1214: Object-Oriented Programming CSC 1214: Object-Oriented Programming J. Kizito Makerere University e-mail: jkizito@cis.mak.ac.ug www: http://serval.ug/~jona materials: http://serval.ug/~jona/materials/csc1214 e-learning environment:

More information

Objects as a programming concept

Objects as a programming concept Objects as a programming concept IB Computer Science Content developed by Dartford Grammar School Computer Science Department HL Topics 1-7, D1-4 1: System design 2: Computer Organisation 3: Networks 4:

More information

Java: introduction to object-oriented features

Java: introduction to object-oriented features Chair of Software Engineering Carlo A. Furia, Marco Piccioni, Bertrand Meyer Java: introduction to object-oriented features Chair of Software Engineering Carlo A. Furia, Marco Piccioni, Bertrand Meyer

More information

Informatik II. Tutorial 6. Mihai Bâce Mihai Bâce. April 5,

Informatik II. Tutorial 6. Mihai Bâce Mihai Bâce. April 5, Informatik II Tutorial 6 Mihai Bâce mihai.bace@inf.ethz.ch 05.04.2017 Mihai Bâce April 5, 2017 1 Overview Debriefing Exercise 5 Briefing Exercise 6 Mihai Bâce April 5, 2017 2 U05 Some Hints Variables &

More information

Chapter 4 Defining Classes I

Chapter 4 Defining Classes I Chapter 4 Defining Classes I This chapter introduces the idea that students can create their own classes and therefore their own objects. Introduced is the idea of methods and instance variables as the

More information

Using Eclipse Europa - A Tutorial

Using Eclipse Europa - A Tutorial Abstract Lars Vogel Version 0.7 Copyright 2007 Lars Vogel 26.10.2007 Eclipse is a powerful, extensible IDE for building general purpose applications. One of the main applications

More information

Classes and Inheritance Extending Classes, Chapter 5.2

Classes and Inheritance Extending Classes, Chapter 5.2 Classes and Inheritance Extending Classes, Chapter 5.2 Dr. Yvon Feaster Inheritance Inheritance defines a relationship among classes. Key words often associated with inheritance are extend and implements.

More information

Chapter 2: Java OOP I

Chapter 2: Java OOP I Chapter 2: Java OOP I Yang Wang wyang AT njnet.edu.cn Outline OO Concepts Class and Objects Package Field Method Construct and Initialization Access Control OO Concepts Object Oriented Methods Object An

More information

Index. Index. More information. block statements 66 y 107 Boolean 107 break 55, 68 built-in types 107

Index. Index. More information. block statements 66 y 107 Boolean 107 break 55, 68 built-in types 107 A abbreviations 17 abstract class 105 abstract data types 105 abstract method 105 abstract types 105 abstraction 92, 105 access level 37 package 114 private 115 protected 115 public 115 accessors 24, 105

More information

Classes and Methods גרא וייס המחלקה למדעי המחשב אוניברסיטת בן-גוריון

Classes and Methods גרא וייס המחלקה למדעי המחשב אוניברסיטת בן-גוריון Classes and Methods גרא וייס המחלקה למדעי המחשב אוניברסיטת בן-גוריון 2 Roadmap Lectures 4 and 5 present two sides of OOP: Lecture 4 discusses the static, compile time representation of object-oriented

More information

Refactoring. Section (JIA s) OTHER SOURCES

Refactoring. Section (JIA s) OTHER SOURCES Refactoring Section 7.2.1 (JIA s) OTHER SOURCES Code Evolution Programs evolve and code is NOT STATIC Code duplication Outdated knowledge (now you know more) Rethink earlier decisions and rework portions

More information

Islamic University of Gaza Faculty of Engineering Computer Engineering Department

Islamic University of Gaza Faculty of Engineering Computer Engineering Department Student Mark Islamic University of Gaza Faculty of Engineering Computer Engineering Department Question # 1 / 18 Question # / 1 Total ( 0 ) Student Information ID Name Answer keys Sector A B C D E A B

More information

Index. Symbols. /**, symbol, 73 >> symbol, 21

Index. Symbols. /**, symbol, 73 >> symbol, 21 17_Carlson_Index_Ads.qxd 1/12/05 1:14 PM Page 281 Index Symbols /**, 73 @ symbol, 73 >> symbol, 21 A Add JARs option, 89 additem() method, 65 agile development, 14 team ownership, 225-226 Agile Manifesto,

More information

ENCAPSULATION AND POLYMORPHISM

ENCAPSULATION AND POLYMORPHISM MODULE 3 ENCAPSULATION AND POLYMORPHISM Objectives > After completing this lesson, you should be able to do the following: Use encapsulation in Java class design Model business problems using Java classes

More information

Anatomy of a Class Encapsulation Anatomy of a Method

Anatomy of a Class Encapsulation Anatomy of a Method Writing Classes Writing Classes We've been using predefined classes. Now we will learn to write our own classes to define objects Chapter 4 focuses on: class definitions instance data encapsulation and

More information

Encapsulation. Inf1-OOP. Getters and Setters. Encapsulation Again. Inheritance Encapsulation and Inheritance. The Object Superclass

Encapsulation. Inf1-OOP. Getters and Setters. Encapsulation Again. Inheritance Encapsulation and Inheritance. The Object Superclass Encapsulation Again Inheritance Encapsulation and Inheritance Inf1-OOP Inheritance and Interfaces Perdita Stevens, adapting earlier version by Ewan Klein School of Informatics March 9, 2015 The Object

More information

Informatik II Tutorial 6. Subho Shankar Basu

Informatik II Tutorial 6. Subho Shankar Basu Informatik II Tutorial 6 Subho Shankar Basu subho.basu@inf.ethz.ch 06.04.2017 Overview Debriefing Exercise 5 Briefing Exercise 6 2 U05 Some Hints Variables & Methods beginwithlowercase, areverydescriptiveand

More information

Lecture 3. COMP1006/1406 (the Java course) Summer M. Jason Hinek Carleton University

Lecture 3. COMP1006/1406 (the Java course) Summer M. Jason Hinek Carleton University Lecture 3 COMP1006/1406 (the Java course) Summer 2014 M. Jason Hinek Carleton University today s agenda assignments 1 (graded) & 2 3 (available now) & 4 (tomorrow) a quick look back primitive data types

More information

Practice for Chapter 11

Practice for Chapter 11 Practice for Chapter 11 MULTIPLE CHOICE. Choose the one alternative that best completes the statement or answers the question. 1) Object-oriented programming allows you to derive new classes from existing

More information

Inf1-OOP. Inheritance and Interfaces. Ewan Klein, Perdita Stevens. January 12, School of Informatics

Inf1-OOP. Inheritance and Interfaces. Ewan Klein, Perdita Stevens. January 12, School of Informatics Inf1-OOP Inheritance and Interfaces Ewan Klein, Perdita Stevens School of Informatics January 12, 2013 Encapsulation Again Inheritance Encapsulation and Inheritance The Object Superclass Flat vs. Nested

More information

1.00 Lecture 7. Classes

1.00 Lecture 7. Classes 1.00 Lecture 7 Java Classes and Objects Reading for next time: Big Java: sections 2.6-2.11 Classes A class is a pattern or template from which objects are made You may have many birds in a simulation One

More information

CS111: PROGRAMMING LANGUAGE II. Lecture 1: Introduction to classes

CS111: PROGRAMMING LANGUAGE II. Lecture 1: Introduction to classes CS111: PROGRAMMING LANGUAGE II Lecture 1: Introduction to classes Lecture Contents 2 What is a class? Encapsulation Class basics: Data Methods Objects Defining and using a class In Java 3 Java is an object-oriented

More information

How to make a "hello world" program in Java with Eclipse *

How to make a hello world program in Java with Eclipse * OpenStax-CNX module: m43473 1 How to make a "hello world" program in Java with Eclipse * Hannes Hirzel Based on How to make a "hello world" program in Java. by Rodrigo Rodriguez This work is produced by

More information

Java Swing Introduction

Java Swing Introduction Course Name: Advanced Java Lecture 18 Topics to be covered Java Swing Introduction What is Java Swing? Part of the Java Foundation Classes (JFC) Provides a rich set of GUI components Used to create a Java

More information

Lecture 07: Object Encapsulation & References AITI Nigeria Summer 2012 University of Lagos.

Lecture 07: Object Encapsulation & References AITI Nigeria Summer 2012 University of Lagos. Accelerating Information Technology Innovation http://aiti.mit.edu Lecture 07: Object Encapsulation & References AITI Nigeria Summer 2012 University of Lagos. Data Field Encapsulation Sometimes we want

More information

CSCE 156 Computer Science II

CSCE 156 Computer Science II CSCE 156 Computer Science II Lab 04 - Classes & Constructors Dr. Chris Bourke Prior to Lab 1. Review this laboratory handout prior to lab. 2. Read Object Creation tutorial: http://download.oracle.com/javase/tutorial/java/javaoo/objectcreation.

More information

ActiveSpaces Transactions. Quick Start Guide. Software Release Published May 25, 2015

ActiveSpaces Transactions. Quick Start Guide. Software Release Published May 25, 2015 ActiveSpaces Transactions Quick Start Guide Software Release 2.5.0 Published May 25, 2015 Important Information SOME TIBCO SOFTWARE EMBEDS OR BUNDLES OTHER TIBCO SOFTWARE. USE OF SUCH EMBEDDED OR BUNDLED

More information

Class, Variable, Constructor, Object, Method Questions

Class, Variable, Constructor, Object, Method Questions Class, Variable, Constructor, Object, Method Questions http://www.wideskills.com/java-interview-questions/java-classes-andobjects-interview-questions https://www.careerride.com/java-objects-classes-methods.aspx

More information

CREATED BY: Muhammad Bilal Arslan Ahmad Shaad. JAVA Chapter No 5. Instructor: Muhammad Naveed

CREATED BY: Muhammad Bilal Arslan Ahmad Shaad. JAVA Chapter No 5. Instructor: Muhammad Naveed CREATED BY: Muhammad Bilal Arslan Ahmad Shaad JAVA Chapter No 5 Instructor: Muhammad Naveed Muhammad Bilal Arslan Ahmad Shaad Chapter No 5 Object Oriented Programming Q: Explain subclass and inheritance?

More information

Object Oriented Programming is a programming method that combines: Advantage of Object Oriented Programming

Object Oriented Programming is a programming method that combines: Advantage of Object Oriented Programming Overview of OOP Object Oriented Programming is a programming method that combines: a) Data b) Instructions for processing that data into a self-sufficient object that can be used within a program or in

More information

(800) Toll Free (804) Fax Introduction to Java and Enterprise Java using Eclipse IDE Duration: 5 days

(800) Toll Free (804) Fax   Introduction to Java and Enterprise Java using Eclipse IDE Duration: 5 days Course Description This course introduces the Java programming language and how to develop Java applications using Eclipse 3.0. Students learn the syntax of the Java programming language, object-oriented

More information

Noopur Gupta Eclipse JDT/UI Committer IBM India

Noopur Gupta Eclipse JDT/UI Committer IBM India Noopur Gupta Eclipse JDT/UI Committer IBM India noopur_gupta@in.ibm.com 1 2 3 Show Workspace Location in the Title Bar (-showlocation) OR 4 Show Workspace Name in the Title Bar (Window > Preferences >

More information

Self-review Questions

Self-review Questions 7Class Relationships 106 Chapter 7: Class Relationships Self-review Questions 7.1 How is association between classes implemented? An association between two classes is realized as a link between instance

More information

CS-202 Introduction to Object Oriented Programming

CS-202 Introduction to Object Oriented Programming CS-202 Introduction to Object Oriented Programming California State University, Los Angeles Computer Science Department Lecture III Inheritance and Polymorphism Introduction to Inheritance Introduction

More information

HAS-A Relationship. If A uses B, then it is an aggregation, stating that B exists independently from A.

HAS-A Relationship. If A uses B, then it is an aggregation, stating that B exists independently from A. HAS-A Relationship Association is a weak relationship where all objects have their own lifetime and there is no ownership. For example, teacher student; doctor patient. If A uses B, then it is an aggregation,

More information

In this lab we will practice creating, throwing and handling exceptions.

In this lab we will practice creating, throwing and handling exceptions. Lab 5 Exceptions Exceptions indicate that a program has encountered an unforeseen problem. While some problems place programmers at fault (for example, using an index that is outside the boundaries of

More information

Inf1-OP. Classes with Stuff in Common. Inheritance. Volker Seeker, adapting earlier version by Perdita Stevens and Ewan Klein.

Inf1-OP. Classes with Stuff in Common. Inheritance. Volker Seeker, adapting earlier version by Perdita Stevens and Ewan Klein. Inf1-OP Inheritance UML Class Diagrams UML: language for specifying and visualizing OOP software systems UML class diagram: specifies class name, instance variables, methods,... Volker Seeker, adapting

More information

CSC 1214: Object-Oriented Programming

CSC 1214: Object-Oriented Programming CSC 1214: Object-Oriented Programming J. Kizito Makerere University e-mail: jkizito@cis.mak.ac.ug www: http://serval.ug/~jona materials: http://serval.ug/~jona/materials/csc1214 e-learning environment:

More information

Object Oriented Programming. Week 1 Part 3 Writing Java with Eclipse and JUnit

Object Oriented Programming. Week 1 Part 3 Writing Java with Eclipse and JUnit Object Oriented Programming Part 3 Writing Java with Eclipse and JUnit Today's Lecture Test Driven Development Review (TDD) Building up a class using TDD Adding a Class using Test Driven Development in

More information

CS 351 Design of Large Programs

CS 351 Design of Large Programs CS 351 Design of Large Programs Code Standards Instructor: Joel Castellanos e-mail: joel@unm.edu Web: http://cs.unm.edu/~joel/ Office: Farris Engineering Center (FEC) room 319 1/17/2017 Why Do All Cars

More information

Programming II (CS300)

Programming II (CS300) 1 Programming II (CS300) Chapter 02: Using Objects MOUNA KACEM mouna@cs.wisc.edu Spring 2018 Using Objects 2 Introduction to Object Oriented Programming Paradigm Objects and References Memory Management

More information

Inf1-OP. Inheritance. Volker Seeker, adapting earlier version by Perdita Stevens and Ewan Klein. March 12, School of Informatics

Inf1-OP. Inheritance. Volker Seeker, adapting earlier version by Perdita Stevens and Ewan Klein. March 12, School of Informatics Inf1-OP Inheritance Volker Seeker, adapting earlier version by Perdita Stevens and Ewan Klein School of Informatics March 12, 2018 UML Class Diagrams UML: language for specifying and visualizing OOP software

More information

enum Types 1 1 The keyword enum is a shorthand for enumeration. Zheng-Liang Lu Java Programming 267 / 287

enum Types 1 1 The keyword enum is a shorthand for enumeration. Zheng-Liang Lu Java Programming 267 / 287 enum Types 1 An enum type is an reference type limited to an explicit set of values. An order among these values is defined by their order of declaration. There exists a correspondence with string names

More information

Even though we created a folder for the workspace, we still have to let JCreator do the same. So click File, New, and then Blank Workspace.

Even though we created a folder for the workspace, we still have to let JCreator do the same. So click File, New, and then Blank Workspace. Getting Started With JCreator The first thing to do with JCreator is to create a workspace. A workspace is an area where you can store a project or a set of related projects. For me, the best way to create

More information

Language Features. 1. The primitive types int, double, and boolean are part of the AP

Language Features. 1. The primitive types int, double, and boolean are part of the AP Language Features 1. The primitive types int, double, and boolean are part of the AP short, long, byte, char, and float are not in the subset. In particular, students need not be aware that strings are

More information

Using Eclipse for Java. Using Eclipse for Java 1 / 1

Using Eclipse for Java. Using Eclipse for Java 1 / 1 Using Eclipse for Java Using Eclipse for Java 1 / 1 Using Eclipse IDE for Java Development Download the latest version of Eclipse (Eclipse for Java Developers or the Standard version) from the website:

More information

Classes and Methods לאוניד ברנבוים המחלקה למדעי המחשב אוניברסיטת בן-גוריון

Classes and Methods לאוניד ברנבוים המחלקה למדעי המחשב אוניברסיטת בן-גוריון Classes and Methods לאוניד ברנבוים המחלקה למדעי המחשב אוניברסיטת בן-גוריון 22 Roadmap Lectures 4 and 5 present two sides of OOP: Lecture 4 discusses the static, compile time representation of object-oriented

More information

Packages Inner Classes

Packages Inner Classes Packages Inner Classes Sisoft Technologies Pvt Ltd SRC E7, Shipra Riviera Bazar, Gyan Khand-3, Indirapuram, Ghaziabad Website: www.sisoft.in Email:info@sisoft.in Phone: +91-9999-283-283 Learning - Topics

More information

Interfaces. An interface forms a contract between the object and the outside world.

Interfaces. An interface forms a contract between the object and the outside world. Interfaces An interface forms a contract between the object and the outside world. For example, the buttons on the television set are the interface between you and the electrical wiring on the other side

More information

Rules and syntax for inheritance. The boring stuff

Rules and syntax for inheritance. The boring stuff Rules and syntax for inheritance The boring stuff The compiler adds a call to super() Unless you explicitly call the constructor of the superclass, using super(), the compiler will add such a call for

More information

CS 152: Data Structures with Java Hello World with the IntelliJ IDE

CS 152: Data Structures with Java Hello World with the IntelliJ IDE CS 152: Data Structures with Java Hello World with the IntelliJ IDE Instructor: Joel Castellanos e-mail: joel.unm.edu Web: http://cs.unm.edu/~joel/ Office: Electrical and Computer Engineering building

More information

JUnit 3.8.1, 64. keep it simple stupid (KISS), 48

JUnit 3.8.1, 64. keep it simple stupid (KISS), 48 Index A accessor methods, 11, 152 add parameter technique, 189 190 add() method, 286 287, 291 algorithm, substituting, 104 105 AND logical operator, 172 architectural design patterns, 277 278 architecture,

More information

6.170 Laboratory in Software Engineering Eclipse Reference for 6.170

6.170 Laboratory in Software Engineering Eclipse Reference for 6.170 6.170 Laboratory in Software Engineering Eclipse Reference for 6.170 Contents: CVS in Eclipse o Setting up CVS in Your Environment o Checkout the Problem Set from CVS o How Do I Add a File to CVS? o Committing

More information

Programming Language Concepts: Lecture 2

Programming Language Concepts: Lecture 2 Programming Language Concepts: Lecture 2 Madhavan Mukund Chennai Mathematical Institute madhavan@cmi.ac.in http://www.cmi.ac.in/~madhavan/courses/pl2009 PLC 2009, Lecture 2, 19 January 2009 Classes and

More information

Create a Java project named week10

Create a Java project named week10 Objectives of today s lab: Through this lab, students will examine how casting works in Java and learn about Abstract Class and in Java with examples. Create a Java project named week10 Create a package

More information

Chapter 6 Introduction to Defining Classes

Chapter 6 Introduction to Defining Classes Introduction to Defining Classes Fundamentals of Java: AP Computer Science Essentials, 4th Edition 1 Objectives Design and implement a simple class from user requirements. Organize a program in terms of

More information

Classes and Methods עזאם מרעי המחלקה למדעי המחשב אוניברסיטת בן-גוריון מבוסס על השקפים של אותו קורס שניתן בשנים הקודמות

Classes and Methods עזאם מרעי המחלקה למדעי המחשב אוניברסיטת בן-גוריון מבוסס על השקפים של אותו קורס שניתן בשנים הקודמות Classes and Methods עזאם מרעי המחלקה למדעי המחשב אוניברסיטת בן-גוריון מבוסס על השקפים של אותו קורס שניתן בשנים הקודמות 2 Roadmap Lectures 4 and 5 present two sides of OOP: Lecture 4 discusses the static,

More information

Lab #1: A Quick Introduction to the Eclipse IDE

Lab #1: A Quick Introduction to the Eclipse IDE Lab #1: A Quick Introduction to the Eclipse IDE Eclipse is an integrated development environment (IDE) for Java programming. Actually, it is capable of much more than just compiling Java programs but that

More information

Course Description. Learn To: : Intro to JAVA SE7 and Programming using JAVA SE7. Course Outline ::

Course Description. Learn To: : Intro to JAVA SE7 and Programming using JAVA SE7. Course Outline :: Module Title Duration : Intro to JAVA SE7 and Programming using JAVA SE7 : 9 days Course Description The Java SE 7 Fundamentals course was designed to enable students with little or no programming experience

More information