Lecture Java methods: Object-oriented programming and data structures (2nd AP edition): Chapter 2 - Maria Litvin, Gary Litvin

32 26 0
Lecture Java methods: Object-oriented programming and data structures (2nd AP edition): Chapter 2 - Maria Litvin, Gary Litvin

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Chapter 2 - An introduction to software engineering. This chapter gives a glimpse of how software development evolved from artisanship into a professional engineering discipline. At the same time, students will get familiar with Java development tools and run their first programs.

Java Methods Object-Oriented Programming and Data Structures 2nd AP edition with GridWorld Maria Litvin ● Gary Litvin Chapter An Introduction to Software Engineering Copyright © 2011 by Maria Litvin, Gary Litvin, and Skylight Publishing All rights reserved Objectives: • Understand the software development process, tools, and priorities • Understand compilers and interpreters • Learn about Java Virtual Machine, bytecode • Learn to set up and run simple console applications, GUI applications, and applets in Java • Learn basic facts about OOP 2­2 Software Today: 1,580,000,000 2­3 Software Applications • Large business systems • • • • • • Databases Internet, e-mail, etc Military Embedded systems Scientific research • Word processing and other small business and personal productivity tools • Graphics / arts / digital photography • Games AI 2­4 Software Development 1950-1970's: • Emphasis on efficiency    fast algorithms small program size limited memory use Now: • Emphasis on      • Often cryptic code • Not user-friendly programmer’s productivity team development reusability of code easier maintenance portability • Better documented • User-friendly 2­5 Programming Languages C C++ C# Assembl LISP Scheme y Java D Log Ada Algol languag o es 1940 1950 1960 1970 1980 1990 2000      2010 Fortra Pascal Python Fortres Machin n Basic s Cobol e Groovy Smalltalk Smalltalkcode 80 2­6 Software Development Tools • Editor  programmer writes source code • Compiler  translates the source into object code (instructions specific to a particular CPU) • Linker  converts one or several object modules into an executable program • Debugger  steps through the program “in slow motion” and helps find logical mistakes (“bugs”) 2­7 The First “Bug” “(moth) in relay” Mark II Aiken Relay Calculator (Harvard University, 1945) 2­8 Compiled Languages: Edit-Compile-Link-Run Edito Source r code Compil er Object code Edito Source r code Compil er Object code Edito Source r code Compil er Object code Linker Executab le program  2­9 Interpreted Languages: Edit-Run Edito Source Interpret r code er  2­10 Types of Programs • Console applications • GUI applications • Applets 2­18 Console Applications • Simple text dialog: prompt input, prompt input result C:\javamethods\Ch02> path=%PATH%;C:\Program Files\Java\jdk 1.5.0_07\bin C:\javamethods\Ch02> javac Greetings2.java C:\javamethods\Ch02> java Greetings2 Enter your first name: Josephine Enter your last name: Jaworski Hello, Josephine Jaworski Press any key to continue 2­19 Command-Line Arguments C:\javamethods\Ch02> javac Greetings.java C:\javamethods\Ch02> java Greetings Josephine Jaworski Hello, Josephine Jaworski Commandpublic class Greetings line { arguments public static void main(String[ ] args) are passed { to main String firstName = args[ ]; as an array String lastName = args[ ]; of Strings System.out.println("Hello, " + firstName +" " + lastName); } } 2­20 Command-Line Args (cont’d) • Can be used in GUI applications, too • IDEs provide ways to set them (or prompt for them) Josephine Jaworski 2­21 Greetings2.ja vaimport java.util.Scanner; public class Greetings2 { public static void main(String[ ] args) { Scanner kboard = new Scanner(System.in); System.out.print("Enter your first name: "); Promp String firstName = kboard.nextLine( ); ts System.out.print("Enter your last name: "); String lastName = kboard.nextLine( ); System.out.println("Hello, " + firstName + " " + lastName); System.out.println("Welcome to Java!"); 2­22 GUI Applications Menus Clickable panel Buttons Slider 2­23 HelloGui.java import java.awt.*; import javax.swing.*; GUI libraries public class HelloGui extends JFrame { < other code > public static void main(String[ ] args) { HelloGui window = new HelloGui( ); // Set this window's location and size: // upper-left corner at 300, 300; width 200, height 100 window.setBounds(300, 300, 200, 100); window.setDefaultCloseOperation(JFrame.EXIT_ON_CL OSE); window.setVisible(true); 2­24 } HelloApplet.ja va import java.awt.*; import javax.swing.*; public class HelloApplet extends JApplet { No main in applets: the public void init( ) init method is called by { JDK’s appletviewer or the browser } < other code > } 2­25 OOP — Object-Oriented Programming • An OOP program models a world of active objects • An object may have its own “memory,” which may contain other objects • An object has a set of methods that can process messages of certain types 2­26 OOP (cont’d) • A method can change the object’s state, send messages to other objects, and create new objects • An object belongs to a particular class, and the functionality of each object is determined by its class • A programmer creates an OOP application by defining classes 2­27 The Main OOP Concepts: • Inheritance: a subclass extends a superclass; the objects of a subclass inherit features of the superclass and can redefine them or add new features • Event-driven programs: the program simulates asynchronous handling of events; methods are called automatically in response to events 2­28 Inheritance • A programmer can define hierarchies of classes • More general classes are closer to the top Person Child Baby Toddler Adult Teen 2­29 OOP Benefits • Facilitates team development • Easier to reuse software components and write reusable software • Easier GUI (Graphical User Interface) and multimedia programming 2­30 Review: • What are some of the current software development concerns? • What are editor, compiler, debugger used for? • How is a compiler different from an interpreter? • Name some of the benefits of Java’s compiler+interpreter approach • Define IDE 2­31 Review (cont’d): • • • • What is a console application? What are command-line arguments? What is a GUI application? What is the difference between a GUI application and an applet? • What is OOP? • Define inheritance 2­32 ... prompt input result C:\javamethods\Ch 02> path=%PATH%;C:\Program Files \Java\ jdk 1.5.0_07\bin C:\javamethods\Ch 02> javac Greetings2 .java C:\javamethods\Ch 02> java Greetings2 Enter your first name:... any key to continue 2? ?19 Command-Line Arguments C:\javamethods\Ch 02> javac Greetings .java C:\javamethods\Ch 02> java Greetings Josephine Jaworski Hello, Josephine Jaworski Commandpublic class Greetings... GUI applications, and applets in Java • Learn basic facts about OOP 2? ?2 Software Today: 1,580,000,000 2? ?3 Software Applications • Large business systems • • • • • • Databases Internet, e-mail,

Ngày đăng: 04/11/2020, 23:13

Mục lục

  • Slide 1

  • Objectives:

  • Software Today:

  • Software Applications

  • Software Development

  • Programming Languages

  • Software Development Tools

  • The First “Bug”

  • Compiled Languages: Edit-Compile-Link-Run

  • Interpreted Languages: Edit-Run

  • Compiler vs. Interpreter

  • Java’s Hybrid Approach: Compiler + Interpreter

  • Java’s Compiler + Interpreter

  • Why Bytecode?

  • JDK — Java Development Kit

  • JDK (cont’d)

  • Java IDE

  • Types of Programs

  • Console Applications

  • Command-Line Arguments

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan