* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download Document
Name mangling wikipedia , lookup
Library (computing) wikipedia , lookup
Reserved word wikipedia , lookup
Falcon (programming language) wikipedia , lookup
Structured programming wikipedia , lookup
Abstraction (computer science) wikipedia , lookup
Class (computer programming) wikipedia , lookup
C Sharp syntax wikipedia , lookup
Software quality wikipedia , lookup
Software bug wikipedia , lookup
Application Interface Specification wikipedia , lookup
Design Patterns wikipedia , lookup
Lecture 1 Introduction Your world is filled with objects. Many of these objects are controlled by computers. Computers rely on _________ to determine their execution. objects Modern computer programming is built from the concept of objects (Object-Oriented Programming OOP). Definition (from a computer science perspective) An object is something that has • ________ - the object’s attributes or characteristics • ______________- any action that is performed by or upon the object examples a thermostat your student records © 2006 Pearson Addison-Wesley. All rights reserved 1-2 What is the behavior of this object? What are possible attributes for this object? objects interact with other objects What additional objects are essential in order to place a cell phone call? objects can be made from other objects What are the component parts of a cell phone? © 2006 Pearson Addison-Wesley. All rights reserved 1-3 Every object belongs to a group. membership in the group determines behavior & attributes In software such a group of objects is called a _________. Every object must belong to some class. for example The white oak in your front yard belongs to the class of __________. Wisconsin is an object of type ________ . Your new Ferrari is an object from the ________ class. © 2006 Pearson Addison-Wesley. All rights reserved 1-4 Write software for each class. (program) Implementation Discover & design objects/classes (software architecture) Design test, review, debug Analysis Learn what the software is supposed to do (software requirements) © 2006 Pearson Addison-Wesley. All rights reserved 1-5 discover the objects and design/specify classes for the objects A class diagram is a picture of the members of a class. The notation used here is borrowed from the Universal Modeling Language (UML). Class Name attributes/instance variables operations/methods PortableMusicPlayer boolean isActive int lengthOfPlaylist int selectedSong int secondsPlayedOfSong void void void void void void ... Example turnOn() turnOff() play() stop() pause() advanceToNextSong() © 2006 Pearson Addison-Wesley. All rights reserved 1-6 class name public class PortableMusicPlayer { private private private private boolean isActive; int lengthOfPlaylist; int selectedSong; int secondsPlayedOfSong; public void turnOn() { isActive = true; } public void turnOff() { isActive = false; } // There is code omitted from here } © 2006 Pearson Addison-Wesley. All rights reserved 1-7 A program is a collection of instructions that can be executed by a computer. Software is one or more programs or portions of programs. Programming is the act of composing software. Synonym: software development Two Characteristics of Good Software A correct program is one that properly performs the intended task. A readable program is easily understood by other programmers. Each program follows the rules of some programming language. In this course the programming language that is used is called Java. © 2006 Pearson Addison-Wesley. All rights reserved 1-8 IMPORTANT: The focus of this course is programming, not Java! Every programming language has rules for. . . syntax Syntax is the form of the program. (grammar, punctuation, spelling) semantics Semantics refers to the meaning of the program. The hungry student ate a Chicago-style pizza. Does the following represent a change in syntax or semantics? The hungry student consumed one Chicago-style pizza. Does the following represent a change in syntax or semantics? The hungry students cooked two stuffed crust pizzas. Find the errors below. Are they syntactic or semantic errors? Student the HuNgRy eated a Cicago-style pizzas$ © 2006 Pearson Addison-Wesley. All rights reserved 1-9 Action Programmer types the software into the computer. Software Tool Deliverable Text editor Source code file ( className.java ) The software is translated into a form that is “understood” by the computer. Java compiler Bytecode file ( className.class ) The program executes. Java Virtual Machine © 2006 Pearson Addison-Wesley. All rights reserved 1-10