IDE (Integrated Development Environment)

Slides:



Advertisements
Similar presentations
CS18000: Problem Solving and Object-Oriented Programming.
Advertisements

INHERITANCE BASICS Reusability is achieved by INHERITANCE
1 Inheritance: From membership point of view Vehicle SUV Honda Pilot Object Number Integer Double Base concept Derived concept Java Base class Derived.
Dialogs. Displaying Text in a Dialog Box Windows and dialog boxes –Up to this our output has been to the screen –Many Java applications use these to display.
Introduction To Computers and Programming Lecture 2: Your first program Professor: Evan Korth New York University.
1 Inheritance Reserved word protected Reserved word super Overriding methods Class Hierarchies Reading for this lecture: L&L 8.1 – 8.5.
Using JOptionPanes for graphical communication with our programs. Pages Horstmann 139.
Relational Operators Control structures Decisions using “if” statements  2000 Prentice Hall, Inc. All rights reserved. Modified for use with this course.
 2000 Prentice Hall, Inc. All rights reserved. Chapter 24 - Introduction to Java Applications and Applets Outline 24.1Introduction 24.2Basics of a Typical.
Concept of Computer Programming November 2, 2011.
JOptionPane class. Dialog Boxes A dialog box is a small graphical window that displays a message to the user or requests input. A variety of dialog boxes.
OOP Languages: Java vs C++
Lab 1 City, Robot, Thing, Wall. Documentation of Classes and Methods.
Principles of Computer Programming (using Java) Review Haidong Xue Summer 2011, at GSU.
Java Programming, 2E Introductory Concepts and Techniques Chapter 2 Creating a Java Application and Applet.
1 Purposes: Learn JAVA 1.What is programming languages 2.How to solve problems by computers 1.a CS major student, get a degree in BS 2.a programmer  system.
9/12/2015IT 2751 IDE ( Integrated Development Environment ) 1.A customized plain text editor 2.Compiler 3.Loader 4.Debugging tool JDK (Java Development.
UNIVERSITI TENAGA NASIONAL “Generates Professionals” CHAPTER 4 : Part 2 INTRODUCTION TO SOFTWARE DEVELOPMENT: PROGRAMMING & LANGUAGES.
CSCI 115 Computer Programming Overview. Computer Software System Software –Operating systems –Utility programs –Language compilers Application Software.
Programming in Java Unit 2. Class and variable declaration A class is best thought of as a template from which objects are created. You can create many.
Session One Introduction. Personal Introduction Role of programmers Robot Examination HUD & HID Uploading Code.
1 Part I : Chapter 01 Introduction to Java Programming.
CSCE 2013L: Lab 1 Overview  Java Basics The JVM Anatomy of a Java Program  Object-Oriented Programming Overview  Example: Payroll.java JDK Tools and.
OOP (Java): Simple/ OOP (Java) Objectives – –give some simple examples of Java applications and one applet 2. Simple Java Programs Semester.
Jaeki Song ISQS6337 JAVA Lecture 03 Introduction to Java -The First Java Application-
© 2012 Pearson Education, Inc. All rights reserved. 1-1 Why Java? Needed program portability – Program written in a language that would run on various.
Programming Fundamentals 2: Simple/ F II Objectives – –give some simple examples of Java applications and one applet 2. Simple Java.
1 COMP 241: Object-Oriented Programming with Java Fall 2004 Lecture 1 September 27, 2004 Serdar Taşıran.
BCS 2143 Object Oriented Design Using UML. Objectives Objects Interactions Finding Classes Relationship Between Classes Attribute and Operation Class.
Object Oriented Programming Examples: C++, Java Advantages: 1. reusibility of code 2. ability to adapt (extend) previously written code.
BEGINNING PROGRAMMING.  Literally – giving instructions to a computer so that it does what you want  Practically – using a programming language (such.
JAVA Programming “When you are willing to make sacrifices for a great cause, you will never be alone.” Instructor: รัฐภูมิ เถื่อนถนอม
Outline Creating Subclasses Overriding Methods Class Hierarchies Visibility Designing for Inheritance Inheritance and GUIs The Timer Class Copyright ©
Pengantar OOP Class-Java. 2 Software Development Tools Using Sun Java SDK alone Source File(s) (.java) Programmer Compiler (javac) Class File(s) (.class)
1/16/2008ITK 1681 HardwareSoftware Theory 1800 AD  Architecture 1945 AD  What is Computer Science? Languages 1960 AD 
Creating a Java Application and Applet
Objective You will be able to define the basic concepts of object-oriented programming with emphasis on objects and classes by taking notes, seeing examples,
 2005 Pearson Education, Inc. All rights reserved. 1 Introduction to Classes and Objects.
For Friday Finish reading chapter 2 Complete WebCT quiz.
CSCI 115 Computer Programming Overview. Computer Software System Software –Operating systems –Utility programs –Language compilers Application Software.
1 Classes: A class is a concept of something Vehicle 4 wheels, seats, engine, windows, color…… accelerate, start, stop, turn, … attributes.
Object Oriented Programming Object and Classes Lecture 3 MBY.
Computer Science A 1. Course plan Introduction to programming Basic concepts of typical programming languages. Tools: compiler, editor, integrated editor,
CS 116 OBJECT ORIENTED PROGRAMMING II LECTURE 6 Acknowledgement: Contains materials provided by George Koutsogiannakis and Matt Bauer.
3/21/2016IT 2751 Tow kinds of Lists Array What can be done? What can be easily done? student 1 student 2 student 3 student 4 Linked List student 2 student.
SESSION 1 Introduction in Java. Objectives Introduce classes and objects Starting with Java Introduce JDK Writing a simple Java program Using comments.
 It is a pure oops language and a high level language.  It was developed at sun microsystems by James Gosling.
1/28/2008ITK 1681 An enhanced robot Robot int street int avenue Direction direction ThingBag backback Robot(City aCity, int aStreet, int anAvenue, Direction.
Introduction to java (class and object). Programming languages: –Easier to understand than CPU instructions –Needs to be translated for the CPU to understand.
Introduction CMSC 202 Fall Instructors Mr. Ryan Bergeron – Lecture Section 01 Tues/Thu 1:00 – 2:15 am, Sondheim 111 – Lecture Section 04 Tues/Thu.
Electronic Commerce Java (1)
Chapter 0: Introduction
INTRODUCTION TO OBJECT-ORIENTED PROGRAMMING
A Java Program: // Fig. 2.1: Welcome1.java // Text-printing program.
Robot Class name Attributes Constructor Services, methods
OBJECT ORIENTED PROGRAMMING II LECTURE 7 GEORGE KOUTSOGIANNAKIS
Internet and Java Foundations, Programming and Practice
OBJECT ORIENTED PROGRAMMING II LECTURE 8 GEORGE KOUTSOGIANNAKIS
Lecture 22 Inheritance Richard Gesick.
Chapter 24 - Introduction to Java Applications and Applets
import becker.robots.City;
Java Applets.
INHERITANCE BASICS Reusability is achieved by INHERITANCE
ITK 168 Section 13 Dr. Doug Twitchell.
CS360 Client/Server Programming Using Java
Introducing Java.
Branching Statement Condition Statement Condition list 1 list
Road to Object Oriented Programming
JOptionPane class.
F II 2. Simple Java Programs Objectives
Presentation transcript:

IDE (Integrated Development Environment) 5/6/2019 IDE (Integrated Development Environment) A customized plain text editor Compiler Loader Debugging tool vi (or emacs) javac hello.java java hello ...... JDK (Java Development Kit) = IDE+JRE Eclipse = IDE 5/6/2019 IT 179

ProblemsSolutions cycle Customers System analyst, Project leader Problems Senior Programmers Syntax Semantics (human) Algorithms Programmers Programs in JAVA (or any high level Programming Language) compiler Assembly IDE (computers) VM Assembler Machine code linker Results 5/6/2019 IT 179

How much effort in solving a problem After ITK 168 This is a basic requirement. We need to reduce this portion 6 month from now After ITK 179 This is more important and difficult; data structures, algorithm analysis 5/6/2019 IT 179

Procedure- v. Object- oriented To solve a program is: To find a way to manipulate data -- We design procedures Procedure-Oriented Programming Statements + functions  programs To find objects to model the problem – We choose data (object) Object-Oriented Programming Classes + Objects  programs (interfaces, methods, attributes…) 5/6/2019 IT 179

Robot Class name Attributes Constructor Services, methods int street int avenue Direction direction ThingBag backbag ... Robot(City aCity, int aStreet, int aAvenue, Direction aDir) void move() void turnLeft() void pickThing() void putThing() Class name Attributes Constructor Services, methods UML class diagram for Robot 5/6/2019 IT 179

Modeling what? Modeling Robots in a City with Software Classes. Robot int street int avenue Direction direction ThingBag backbag ... Robot(City aCity, int aStreet, int aAvenue, Direction aDir) void move() void turnLeft() void pickThing() void putThing() City String name int stree_No int ave_No ... .... City(...........) 5/6/2019 IT 179

class defined in the package Anatomy of a Java Program class defined in the package import javax.swing.JOptionPane; public class time{ public static void main(String args[]){ int x,y,z; String X,Y; X = JOptionPane.showInputDialog("Input x"); Y = JOptionPane.showInputDialog("Input y"); x = Integer.parseInt(X); y = Integer.parseInt(Y); z = x*y; JOptionPane.showMessageDialog( null, x + " * " + y + " = " + z, "The product of " + x + " and " + y, JOptionPane.PLAIN_MESSAGE ); System.exit(0); } Variable declaration classes methods arguments 5/6/2019 IT 179

Task: deliver X from (1,2) to (3,1) and step away import becker.robot.*; public class DeliverX{ public static void main(String args[]){ // set up Initial situation City A = new City(); Thing X = new Thing(A,1,2); Robot karel = new Robot(A,0,0, Direction.East); // direct the robot karel.move(); karel.turnLeft(); karel.turnLeft(); karel.turnLeft(); karel.pickThing(); karek.move(); karel.move(); karel.move(); karel.putThing(); } 1 2 3 4 X 1 2 3 4 named Karel 5/6/2019 IT 179

Anatomy of a Java Program import becker.robot.*; public class DeliverX{ public static void main(String args[]){ // set up Initial situation City A = new City(); Thing X = new Thing(A,1,2); Robot karel = new Robot(A,0,0,Direction.East); // direct the robot karel.move(); karel.turnLeft(); karel.turnLeft(); karel.turnLeft(); karel.pickThing(); karek.move(); karel.move(); karel.move(); karel.putThing(); } 5/6/2019 IT 179

Package: collection of classes // Java API: Java Application Programming Interface // (java., javax.) // GUI: Graphical User Interface // // using swing package, JOptionPane class // showMessageDialog method import javax.swing.JOptionPane; public class TestPane{ public static void main(String args[]){ JOptionPane.showMessageDialog( null, "Welcome\nTo\nswing\nPackage"); System.exit(0); } 5/6/2019 IT 179

A Java Program: // Text-printing program. public class Welcome1 { // main method begins execution of Java application public static void main( String args[] ) { System.out.println( "Welcome to Java Programming!" ); } // end method main } // end class Welcome1 /********************************************************* *(C) Copyright 1992-2003 by ...... * * * **********************************************************/ 5/6/2019 IT 179

Reusing Codes Composition A class has another class, “has a” relation Inheritance A class has another class, “has a” relation A car has an engine A class inherits another class, “is a” relation An SUV is a car 5/6/2019 IT 179

Composition: has a A DeliverX has a main, The main has a City, Thing, and a Robot import becker.robot.*; public class DeliverX{ public static void main(String args[]){ // set up Initial situation City A = new City(); Thing X = new Thing(A,1,2); Robot karel = new Robot(A,0,0, Direction.East); ...... } 5/6/2019 IT 179

Composition: has a A BankAccount has a Client, has a List of BankTransaction public class BankAccount { private Client client; private List<BankTransaction> transactions; // other fields ... } 5/6/2019 IT 179

Classes: A class is a concept of something Vehicle 4 wheels, seats, engine, windows, color…… accelerate, start, stop, turn, lock, ............... Truck ………… Sedan ………… Focus ………… Matrix ………… SUV ………… 5/6/2019 IT 179

Inheritance: From membership point of view A SUV is a vehicle, but a vehicle may not be a SUV Any SUV is a Vehicle Vehicle SUV Base concept Honda Pilot Derived concept Java Object Number Base class Integer Double Derived class 5/6/2019 IT 179

Inheritance: From functionality point of view All vehicle can do, SUV can too The SUV has every properties and function of the Vehicle SUV Vehicle Derived class Base class 5/6/2019 IT 179

UML (Unified Modeling Language) Diagram Vehicle SUV Truck Sedan Honda Pilot Focus Matrix Matrix XRS 5/6/2019 IT 179

my_a is invisible to B = A - my_a: int +get_a():int B B - my_b: int +get_b():int B - my_b: int +get_a():int +get_b():int = 5/6/2019 IT 179

Base class (superclass) & Derived class (extended subclass) // A is a base class public class A { private int my_a; Public A(int a) { my_a = a; } public int get_a() { return my_a; // B is a derived class Public class B extends A { private int b; public B(int a, int b) { super(a); this.b = b; } public int get_b() { return b; A a = new A(2); B b = new B(3,7); I = a.get_a(); J = b.get_a(); K = b.get_b(); B inherits A’s functions and variables. 5/6/2019 IT 179

An enhanced robot = Robot ExperimentRobot ExperimentRobot int street int avenue Direction direction ThingBag backback Robot(City aCity, int aStreet, int anAvenue, Direction aDir) void move() void turnLeft() void pickThing() void putThing() An enhanced robot ExperimentRobot int street int avenue Direction direction ThingBag backback ExperimentRobot(City aCity, int aStreet, int anAvenue, Direction aDir) void move() void turnLeft() void pickThing() void putThing() void turnAround(); void turnRight(); void move3(); ExperimentRobot ExperimentRobot(City aCity, int aStreet, int anAvenue, Direction aDir) void turnAround(); void turnRight(); void move3(); = 5/6/2019 IT 179

Selection sort algorithm in Java public static class SelectionSort { public void sort(int a[]) { for (int i = 0; i<a.length-1; i++) { // select one for a[i] int j = min(a,i); exchange(a,i,j); } // select the minimum between a[s] to the end private int min(int a[], int s) {int m = s; for (int i=s; i<a.length;i++) if (a[i] < a[m]) m=i; return m; private void exchange(int[] a, int i, int j) { int temp = a[i]; a[i] = a[j]; a[j] = temp; } // end of SelectionSort 5/6/2019 IT 179