dco10105 object oriented programming and design
Download
Skip this Video
Download Presentation
DCO10105 Object-Oriented Programming and Design

Loading in 2 Seconds...

play fullscreen
1 / 21

DCO10105 Object-Oriented Programming and Design - PowerPoint PPT Presentation


  • 338 Views
  • Uploaded on

DCO10105 Object-Oriented Programming and Design Lecture 1: Introduction What this course is about: C++ programming Object-Oriented programming concepts Good Programming practice Program design -- By Rossella Lau About C++ Created by Bjarne Stroustrup at Bell Lab about 1985

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'DCO10105 Object-Oriented Programming and Design' - Pat_Xavi


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
dco10105 object oriented programming and design
DCO10105 Object-Oriented Programming and Design
  • Lecture 1: Introduction

What this course is about:

    • C++ programming
    • Object-Oriented programming concepts
    • Good Programming practice
    • Program design

-- By Rossella Lau

about c
About C++
  • Created by Bjarne Stroustrup at Bell Lab about 1985
  • Maintains C (early 1980) with simpler usages
  • O-O language
  • Powerful, flexible
  • With a Standard Library and a Standard Template Library
  • Reference: An introduction to C++ for newbies: http://www.cprogramming.com/begin.html
ansi iso standard c
ANSI/ISO Standard C++
  • C++ programs are not always portable
  • September 1998, IS14882 has been approved as an ANS
    • most of today’s compilers comply with this standard

GNU C++ compilers

Visual C++

DevC++  The tool we will use in this course

o o programming concepts
O-O programming concepts

Usually three basic parts:

  • Class construction  data encapsulation
  • Inheritance
    • parent-child relationship – base class and sub-class
    • sub-class inherits everything from the parent class

 software reuse, encapsulation

  • Polymorphism
    • A sub-class can pretend its base classes
    • A class allows for applying different data types through template
    • An expression denotes different operations through dynamic binding

 Shorter/Less programming

good programming practice
Good programming practice
  • Documentation
    • Comments
    • Naming identifiers
    • White space: indentation, blank lines, spaces
  • Coding convention
    • Usually there are rules, in addition to a programming language’s syntax, to be followed in order to make people in the same organization understand each other better
      • Coding style
      • Statement usages

Reference: Guide lines for programming styles in this course

good practice i naming convention
Good practice I: Naming Convention
  • Naming in a programming language is always
    • Program id, method id, variables, constants
  • To name an identifier, one should observe the rules in C++; or the id cannot get past the compiler, otherwise
  • To follow a convention means even if an id’s name can pass the compiler, it should conform to some additional rules
  • In this course, the Java naming convention should be followed
program design
Program Design
  • Class design with UML (Unified Modeling Language) Diagram
  • Object-Oriented Design (OOD)
    • Encapsulation: combine data and operations in a unit
    • Inheritance: create new objects from existing objects
    • Polymorphism: same expression denotes different operations
  • Program design using structured programming approach
    • Top-down approach with step-wise refinement
  • Design methods with C++ features: const, &(reference)
a simple c program cirarea cpp
Header file specification

End of function body

C++ entrance, function prototype

Data Declaration

Location of header files

Beginning of function body

Keyword to define constant

Input operators

string

I/O objects

Assignment with expression

Output operators

system-defined id

Function body, C++ statements

Statement terminator

A simple C++ program: cirArea.cpp

#include

using namespace std;

int main() {

float area;

int r;

float const PI = 3.14;

cerr << "Please enter radius in whole number:\n";

cin >> r;

area = PI * r * r;

cout << "The radius you provided was " << r

<< " feet and the area is about " << area

<< " sq feet" << endl;

return EXIT_SUCCESS;

}

c program style
C++ program style

For non-class programs:

  • Header file specification
    • Coming with the standard library (SL) or the standard template library (STL)
    • Whenever a function from the SL or the STL is used, its respective header files should be specified through this “Preprocessor directives”#include
  • Location of header files
    • E.g., using namespace std;
    • std is ANSI/ISO standard where objects of iostream are located
  • A collection of functions (or methods)
  • main() is a necessary entrance point in a C++ program
preprocessor directives
Preprocessor directives
  • Whenever a function from the SL or the STL is used, its respective header files should be specified through “Preprocessor directives”#include
  • It is not a C++ statement
  • It is processed through the “preprocessor” before the compiler has taken place
usual style of a function
Usual style of a function

For each function:

  • Function prototype (header)typeOfFunctionfunctionID (parameterList)
  • Function body: { C++ statements }
    • Data declaration statements
    • Executable statements
    • Syntax of basic statements are the same as in Java; Reference: Malik’s slide 2:5-30, 36-38, 43-47
quick revision and sample statements
Quick revision and sample statements
  • Malik 2, Exercises: 7-9, 10.a-f
basic c data types
Basic C++ data types
  • Integral
    • char, short, int, long, bool
    • unsigned char, unsigned short, unsigned int, unsigned long
  • Floating Point
    • float, double, long couble
  • Enumeration
    • user-defined data types
  • Note that string is not a basic data type in C++ but a class in the C++ STL
basic c input statements
Basic C++ Input statements
  • E.g., cin >> r;
    • cin is a predefined (in iostream) object which refers to input from keyboard
    • >> the input operator or extraction operator
    • r is the variable to store the values input from cin
      • If r is a basic C++ data type variable, data conversion is not necessary as in Java
  • Multiple extraction operators on a line
    • E.g., cin >> length >> width;
basic c output statement
Basic C++ Output statement
  • E.g., cout << r;
    • cout is a predefined object which refers to output to screen
    • There is another predefined output object cerr which also direct output to screen; it is a good practice to direct user prompt and error messages to cerr and normal output to cout
    • << is the output operator or insertion opertor
    • Variable or literal value can be easily printed
  • Multiple insertion operators on a line
    • E.g., cout << “The length is “ << length << endl;
output with new line
Output with new line
  • endl is a predeined id and its value is ‘\n’
  • Usually,
    • endl is used when the last insertion operand is an identifier;
    • ‘\n’ is placed at the end of a literal string if the string is the last insertion operand, e.g.,cout << length << “is input from the user\n”;
sample coding on exercises
Sample coding on exercises
  • Malik: 2 Exercise 18a, , Programming Exercises: 8,11
some major differences from java
Some major differences from Java
  • An independent executable module
  • Not necessary to be a class inside a program
  • Using template much more than inheritance and dynamic binding
  • An object can be referenced in three forms: a real object, a pointer, and a reference.
  • Does not have a “standard web site” for on-line documentation
    • Some on-line sites can be found through the Helpful links under the course page
summary
Summary
  • This course focus on C++ programming with advanced concepts in O-O design
  • C++ basic syntax is the same as Java except for program style and, of course, usage of functions in its own libraries
  • Before a C++ compiler is taken place, pre-process must be performed first
  • C++ input statement is easier than Java as it does not need numeric data conversion
reference
Reference
  • Malik: 1.9, 2, 13.3
  • An introduction to C++ for newbies: http://www.cprogramming.com/begin.html

-- END --

ad