Download Document

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Name mangling wikipedia , lookup

Library (computing) wikipedia , lookup

Reserved word wikipedia , lookup

Falcon (programming language) wikipedia , lookup

Structured programming wikipedia , lookup

Smalltalk 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

C++ wikipedia , lookup

Design Patterns wikipedia , lookup

C Sharp (programming language) wikipedia , lookup

Object-oriented programming wikipedia , lookup

Transcript
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