A Guide to MATLAB Object-Oriented Programming

Size: px
Start display at page:

Download "A Guide to MATLAB Object-Oriented Programming"

Transcription

1 A Guide to MATLAB Object-Oriented Programming Andy H. Register Georgia Tech Research Institute Atlanta, Georgia, U.S.A. ^llchapman & Hall/CRC _^ Taylor ^Francis Group _^ BocaRaton London New York (OH ^^f^ltt^f^l Chapman & Hall/CRC is an imprint of the P*^ PUBLISHING. I N C. Taylor & Francis Group, an informa business

2 Table of Contents Figures Code Listings Tables About the Author Preface xv xvii xxi xxiii xxv Chapter 1 Introduction Examples Object-Oriented Software Development At the Top of Your Game Personal Development Wicked Problems Extreme Programming MATLAB, Object-Oriented Programming, and You Attributes, Behavior, Objects, and Classes From MATLAB Heavyweight to Object-Oriented Thinker Object-Oriented Design Why Use Objects? A Quality Focus Reliability Reusability Extendibility Summary 15 PART 1 Group of Eight 17 Chapter 2 Meeting MATLAB's Requirements Variables, Types, Classes, and Objects ' What Is,a MATLAB Class? Example: Class Requirements Class Directory Constructor The Test Drive Summary Independent Investigations 27

3 viii A Guide to MATLAB Object-Oriented Programming Chapter 3 Member Variables and Member Functions Members Accessors and Mutators A Short Side Trip to Examine Encapsulation cshape Variables cshape Members cshape Private Member Variables cshape Public Interface A Short Side Trip to Examine Function Search Priority Example Code: Accessors and Mutators, Round _ Constructor Accessors Mutators Combining an Accessor and a Mutator Member Functions Standardization The Test Drive Summary Independent Investigations 43 Chapter 4 Changing the Rules... in Appearance Only A Special Accessor and a Special Mutator A Short Side Trip to Examine Overloading Superiorto and Inferiorto The Built-In Function Overloading the Operators subsref and subsasgn Dot-Reference Indexing subsref Dot-Reference, Attempt A New Interface Definition subsref Dot-Reference, Attempt 2: Separating Public and Private Variables subsref Dot-Reference, Attempt 3: Beyond One-to-One, Public-to-Private subsref Dot-Reference, Attempt 4: Multiple Indexing Levels subsref Dot-Reference, Attempt 5: Operator Conversion Anomaly subsasgn Dot-Reference Array-Reference Indexing subsref Array-Reference subsasgn Array-Reference Cell-Reference Indexing Initial Solution for subsref.m Initial Solution for subsasgn.m Operator Overload, mtimes The Test Drive subsasgn Test Drive subsref Test Drive Summary Independent Investigations 75

4 Table of Contents ix Chapter 5 Displaying an Object's State Displaying Objects What Should Be Displayed? Standard Structure Display Public Member Variable Display Implementing display.m, Attempt Implementing display.m, Attempt Developer View Implementing display.m with Developer View Options The Test Drive Summary Independent Investigations 88 Chapter 6 fieldnames.m fieldnames Code Development The Test Drive Summary Independent Investigations 94 Chapter 7 struct.m struct Code Development The Test Drive Summary Independent Investigations 98 Chapter 8 get.m, set.m Arguments for the Member Functions get and set For Developers For Clients Tab Completion Code Development Implementing get and set Initial get.m Initial set.m The Test Drive Summary Independent Investigations 112 Chapter 9 Simplify Using get, set, fieldnames, and struct Improving subsref.m Improving subsasgn.m Improving display.m Test Drive Summary Independent Investigations 122 J

5 x A Guide to MATLAB Object-Oriented Programming Chapter 10 Drawing a Shape Ready, Set, Draw Implementation Modify the Constructor Modify fieldnames Modify get Modify set Modify mtimes Modify reset Adding Member Function draw Test Drive Summary Independent Investigations 137 PART 2 Building a Hierarchy 139 Chapter 11 Constructor Redux Specifying Initial Values Private Member Functions Generalizing the Constructor Constructor Helper /private/ctor_ini.m Constructor Helper Example /private/ctor_l.m Test Drive Summary Independent Investigations 151 Chapter 12 Constructing Simple Hierarchies with Inheritance Simple Inheritance Constructor Other Standard Member Functions ChildClass fieldnames Child Class get Child Class set Parent Slicing in Nonstandard Member Functions draw.m mtimes.m reset.m Test Drive Summary Independent Investigations 174 Chapter 13 Object Arrays with Inheritance When Is a cshape Not a cshape? Changes to subsasgn vertcat and horzcat Test Drive 178

6 Table of Contents xi 13.2 Summary Independent Investigations 182 Chapter 14 Child-Class Members Function Redefinition with Private Member Variables with Additional Public Members with Additional Public Members with Additional Public Members with a Title Test Drive Summary Independent Investigations 190 Chapter 15 Constructing Simple Hierarchies with Composition Composition The clinestyle Class clinestyle's private/ctor_ini clinestyle's fieldnames clinestyle's get clinestyle's set clinestyle's private/ctor_ Using a Primary cshape and a Secondary clinestyle Composition Changes to cshape's ctor_ini.m Adding LineWeight to cshape's fieldnames.m Composition Changes to cshape's get.m Composition Changes to cshape's set.m Composition Changes to cshape's draw.m Composition Changes to cshape's Other Member Functions Test Drive Summary Independent Investigations 206 Chapter 16 General Assignment and Mutator Helper Functions Helper Function Strategy Direct-Link Public Variables get and subsref set and subsasgn get and set Helper Functions Helper functions, get, and set Final template for get.m Final Template for set.m Color Helper Function The Other Classes and Member Functions Test Drive Summary Independent Investigations 224

7 xii A Guide to MATLAB Object-Oriented Programming Chapter 17 Class Wizard File Dependencies Data-Entry Dialog Boxes Main Class Wizard Dialog Header Information Dialog Parents... Dialog Private Variable... Dialog Concealed Variables... Dialog Public Variables... Dialog Constructors... Dialog More... Dialog Static Variables... Dialog Private Functions... Dialog Public Functions... Dialog File Menü Data Menü Build Class Files Button Summary Independent Investigations 247 Chapter 18 Class Wizard Versions of the Shape Hierarchy clinestyle Class Wizard Definition Data clinestyle Header Info clinestyle Private Variables clinestyle Public Variables clinestyle Constructor Functions clinestyle Data Dictionary clinestyle Build Class Files clinestyle Accessor and Mutator Helper Functions cshape Class Wizard Definition Data cshape Header Info cshape Private Variables cshape Concealed Variables cshape Public Variables cshape Constructor Functions cshape Public Functions cshape Data Dictionary cshape Build Class Files cstar Class Wizard Definition Data cstarparent Other cstar Definition Data cdiamond Class Wizard Definition Data Test Drive Summary Independent Investigations 275

8 Table of Contents xiii PART 3 Advanced Strategies 277 Chapter 19 Compositum and a Simple Container Class Building Containers Container Implementation The Standard Framework and the Group of Eight Container Modifications to fieldnames Container Modifications to subsref Container Modifications to subsasgn Container Modifications to get Container Modifications to set Tailoring Built-In Behavior Container-Tailored end Container-Tailored cat, horzcat, vertcat Container-Tailored length, ndims, reshape, and size cshapearray and numel Container-Tailored num2cell and mat2cell Container Functions That Are Specific to cshape Objects cshapearray times and mtimes cshapearray draw cshapearray reset Test Drive Summary Independent Investigations 302 Chapter 20 Static Member Data and Singleton Objects Adding Static Data to Our Framework Hooking Static Data into the Group of Eight Static Variables and the Constructor Static Variables in get and set Static Variables in display Overloading loadobj and saveobj Counting Assignments Singleton Objects Test Drive Summary Independent Investigations 312 Chapter 21 Pass-by-Reference Emulation Assignment without Equal Pass-by-Reference Functions Pass-by-Reference Draw Pass-by-Reference Member Variable: View Helpers, get, and subsref with Pass-by-Reference Behavior 316 ' Pass-by-Reference Behavior in the Helper Pass-by-Reference Code in get.m Pass-by-Reference Code in subsref.m 321

9 xiv A Guide to MATLAB Object-Oriented Programming Other Group-of-Eight Considerations Test Drive Summary Independent Investigations 324 Chapter 22 Dot Functions and Functors When Dot-Reference Is Not a Reference When Array-Reference Is Not a Reference Functors Functor Handies Functor feval Additional Remarks Concerning Functors Test Drive Summary Independent Investigations 337 Chapter 23 Protected Member Variables and Functions How Protected Is Different from Other Visibilities Class Elements for Protected Protected Functions and Advanced Function Handle Techniques Passing Protected Handies from Parent to Child Accessing and Mutating Protected Variables Calling Protected Functions Test Drive Summary Independent Investigations 346 Chapter 24 Potpourri for $ A Small Assortment of Useful Commands objectdirectory methods and methodsview functions Other Functions You Might Want to Overload Functions for Built-in Types subsindex isfield Summary Independent Investigations 350 Index 351

Managing Your Biological Data with Python

Managing Your Biological Data with Python Chapman & Hall/CRC Mathematical and Computational Biology Series Managing Your Biological Data with Python Ailegra Via Kristian Rother Anna Tramontano CRC Press Taylor & Francis Group Boca Raton London

More information

Computer Network. The Practical User Guide for. Simulation. Adarshpal S. Hnatyshin. Vasil Y. CRC Press. Taylor Si Francis Croup

Computer Network. The Practical User Guide for. Simulation. Adarshpal S. Hnatyshin. Vasil Y. CRC Press. Taylor Si Francis Croup The Practical OPNET@ User Guide for Computer Network Simulation Adarshpal S. Sethi Vasil Y. Hnatyshin CRC Press Taylor Si Francis Croup Boca Raton London New York CRC Press is an imprint of the Taylor

More information

Reproducible Research with R and RStudio

Reproducible Research with R and RStudio The R Series Reproducible Research with R and RStudio Christopher Gandrud C\ CRC Press cj* Taylor & Francis Croup Boca Raton London New York CRC Press is an imprint of the Taylor & Francis Group an informa

More information

Data Clustering in C++

Data Clustering in C++ Chapman & Hall/CRC Data Mining and Knowledge Discovery Series Data Clustering in C++ An Object-Oriented Approach Guojun Gan CRC Press Taylor & Francis Group Boca Raton London New York CRC Press Is an imprint

More information

Mathematics Shape and Space: Polygon Angles

Mathematics Shape and Space: Polygon Angles a place of mind F A C U L T Y O F E D U C A T I O N Department of Curriculum and Pedagogy Mathematics Shape and Space: Polygon Angles Science and Mathematics Education Research Group Supported by UBC Teaching

More information

Chapter 12 Object-Oriented Programming. Starting Out with Games & Graphics in C++ Tony Gaddis

Chapter 12 Object-Oriented Programming. Starting Out with Games & Graphics in C++ Tony Gaddis Chapter 12 Object-Oriented Programming Starting Out with Games & Graphics in C++ Tony Gaddis Addison Wesley is an imprint of 2010 Pearson Addison-Wesley. All rights reserved. 12.1 Procedural and Object-Oriented

More information

the Simulation of Dynamics Using Simulink

the Simulation of Dynamics Using Simulink INTRODUCTION TO the Simulation of Dynamics Using Simulink Michael A. Gray CRC Press Taylor & Francis Croup Boca Raton London New York CRC Press is an imprint of the Taylor & Francis Group an informa business

More information

BMEGUI Tutorial 1 Spatial kriging

BMEGUI Tutorial 1 Spatial kriging BMEGUI Tutorial 1 Spatial kriging 1. Objective The primary objective of this exercise is to get used to the basic operations of BMEGUI using a purely spatial dataset. The analysis will consist in an exploratory

More information

Privacy-Preserving. Introduction to. Data Publishing. Concepts and Techniques. Benjamin C. M. Fung, Ke Wang, Chapman & Hall/CRC. S.

Privacy-Preserving. Introduction to. Data Publishing. Concepts and Techniques. Benjamin C. M. Fung, Ke Wang, Chapman & Hall/CRC. S. Chapman & Hall/CRC Data Mining and Knowledge Discovery Series Introduction to Privacy-Preserving Data Publishing Concepts and Techniques Benjamin C M Fung, Ke Wang, Ada Wai-Chee Fu, and Philip S Yu CRC

More information

CROSS-REFERENCE TABLE ASME A Including A17.1a-1997 Through A17.1d 2000 vs. ASME A

CROSS-REFERENCE TABLE ASME A Including A17.1a-1997 Through A17.1d 2000 vs. ASME A CROSS-REFERENCE TABLE ASME Including A17.1a-1997 Through A17.1d 2000 vs. ASME 1 1.1 1.1 1.1.1 1.2 1.1.2 1.3 1.1.3 1.4 1.1.4 2 1.2 3 1.3 4 Part 9 100 2.1 100.1 2.1.1 100.1a 2.1.1.1 100.1b 2.1.1.2 100.1c

More information

WITH C+ + William Ford University of the Pacific. William Topp University of the Pacific. Prentice Hall, Englewood Cliffs, New Jersey 07632

WITH C+ + William Ford University of the Pacific. William Topp University of the Pacific. Prentice Hall, Englewood Cliffs, New Jersey 07632 DATA STRUCTURES WITH C+ + William Ford University of the Pacific William Topp University of the Pacific Prentice Hall, Englewood Cliffs, New Jersey 07632 CONTENTS Preface xvii CHAPTER 1 INTRODUCTION 1

More information

Programming Graphical

Programming Graphical Programming Graphical User Interfaces in R Michael F. Lawrence John Verzani CRC Press Taylorfii Francis Group Boca Raton London NewYork CRC Press Is an imprint of the Taylor & Francis Group an informs

More information

Chapter 1. Chapter 2. viii. Understanding the PowerPoint Work Area...1. Getting Started...4. PowerPoint Versions...6. The PowerPoint Work Area...

Chapter 1. Chapter 2. viii. Understanding the PowerPoint Work Area...1. Getting Started...4. PowerPoint Versions...6. The PowerPoint Work Area... Table Chapter 1 Understanding the PowerPoint Work Area...1 Getting Started...4 PowerPoint Versions...6 The PowerPoint Work Area...8 Chapter 2 Working with Text on Slides...17 What Is a Slide Show?...20

More information

Contents. Figures. Tables. Examples. Foreword. Preface. 1 Basics of Java Programming 1. xix. xxi. xxiii. xxvii. xxix

Contents. Figures. Tables. Examples. Foreword. Preface. 1 Basics of Java Programming 1. xix. xxi. xxiii. xxvii. xxix PGJC4_JSE8_OCA.book Page ix Monday, June 20, 2016 2:31 PM Contents Figures Tables Examples Foreword Preface xix xxi xxiii xxvii xxix 1 Basics of Java Programming 1 1.1 Introduction 2 1.2 Classes 2 Declaring

More information

Objects First with Java

Objects First with Java ^ Objects First with Java A Practical Introduction using BlueJ David J. Barnes and Michael Kolling Second edition PEARSON Prentice Hall Harlow, England London New York Boston San Francisco Toronto Sydney

More information

CMPT 117: Tutorial 1. Craig Thompson. 12 January 2009

CMPT 117: Tutorial 1. Craig Thompson. 12 January 2009 CMPT 117: Tutorial 1 Craig Thompson 12 January 2009 Administrivia Coding habits OOP Header Files Function Overloading Class info Tutorials Review of course material additional examples Q&A Labs Work on

More information

Introduction to Creo Elements/Direct 19.0 Modeling

Introduction to Creo Elements/Direct 19.0 Modeling Introduction to Creo Elements/Direct 19.0 Modeling Overview Course Code Course Length TRN-4531-T 3 Day In this course, you will learn the basics about 3-D design using Creo Elements/Direct Modeling. You

More information

Mastering Linux. Paul S. Wang. CRC Press. Taylor & Francis Group. Taylor & Francis Croup an informa business. A CHAPMAN St HALL BOOK

Mastering Linux. Paul S. Wang. CRC Press. Taylor & Francis Group. Taylor & Francis Croup an informa business. A CHAPMAN St HALL BOOK Mastering Linux Paul S. Wang CRC Press Taylor & Francis Group Boca Raton London New York CRC Press is an Imprint of the Taylor & Francis Croup an informa business A CHAPMAN St HALL BOOK Contents Preface

More information

Preface... (vii) CHAPTER 1 INTRODUCTION TO COMPUTERS

Preface... (vii) CHAPTER 1 INTRODUCTION TO COMPUTERS Contents Preface... (vii) CHAPTER 1 INTRODUCTION TO COMPUTERS 1.1. INTRODUCTION TO COMPUTERS... 1 1.2. HISTORY OF C & C++... 3 1.3. DESIGN, DEVELOPMENT AND EXECUTION OF A PROGRAM... 3 1.4 TESTING OF PROGRAMS...

More information

Homework 2 Implementing the University Application Due: November 7, 2004 (Sunday midnight)

Homework 2 Implementing the University Application Due: November 7, 2004 (Sunday midnight) Homework 2 Implementing the University Application Due: November 7, 2004 (Sunday midnight) In this assignment, you will implement the University application from homework 1. Instead of implementing your

More information

Fritz Keinert Department of Mathematics Iowa State University Ames, IA February 20, 2004

Fritz Keinert Department of Mathematics Iowa State University Ames, IA February 20, 2004 The mpoly Toolbox Fritz Keinert Department of Mathematics Iowa State University Ames, IA 50011 keinert@iastate.edu February 20, 2004 1 Overview This toolbox defines the data type mpoly (matrix Laurent

More information

Agile Model-Driven Development with UML 2.0 SCOTT W. AM BLER. Foreword by Randy Miller UNIFIED 1420 MODELING LANGUAGE. gile 1.

Agile Model-Driven Development with UML 2.0 SCOTT W. AM BLER. Foreword by Randy Miller UNIFIED 1420 MODELING LANGUAGE. gile 1. THE OBJECT PRIMER THIRD EDITION Agile Model-Driven Development with UML 2.0 SCOTT W. AM BLER Foreword by Randy Miller UNIFIED 1420 MODELING LANGUAGE gile 1 odeling Contents Acknowledgments Foreword Preface

More information

SOME ASSEMBLY REQUIRED

SOME ASSEMBLY REQUIRED SOME ASSEMBLY REQUIRED Assembly Language Programming with the AVR Microcontroller TIMOTHY S. MARGUSH CRC Press Taylor & Francis Group CRC Press is an imprint of the Taylor & Francis Croup an Informa business

More information

Introduction to PTC Windchill ProjectLink 11.0

Introduction to PTC Windchill ProjectLink 11.0 Introduction to PTC Windchill ProjectLink 11.0 Overview Course Code Course Length TRN-4756-T 8 Hours In this course, you will learn how to participate in and manage projects using Windchill ProjectLink

More information

Object-Oriented Programming and Data Structures

Object-Oriented Programming and Data Structures Java Methods A & AB Object-Oriented Programming and Data Structures Maria Litvin Phillips Academy, Andover, Massachusetts Gary Litvin Skylight Software, Inc. Skylight Publishing Andover, Massachusetts

More information

CONTENTS. PART 1 Structured Programming 1. 1 Getting started 3. 2 Basic programming elements 17

CONTENTS. PART 1 Structured Programming 1. 1 Getting started 3. 2 Basic programming elements 17 List of Programs xxv List of Figures xxix List of Tables xxxiii Preface to second version xxxv PART 1 Structured Programming 1 1 Getting started 3 1.1 Programming 3 1.2 Editing source code 5 Source code

More information

Mobile Device Security

Mobile Device Security Mobile Device Security A Comprehensive Guide to Securing Your Information in a Moving World STEPHEN FRIED icfl CRC Press Taylor & Francis Group Boca Raton London New York CRC Press is an imprint of the

More information

Table of Contents. Preface... xxi

Table of Contents. Preface... xxi Table of Contents Preface... xxi Chapter 1: Introduction to Python... 1 Python... 2 Features of Python... 3 Execution of a Python Program... 7 Viewing the Byte Code... 9 Flavors of Python... 10 Python

More information

Ch02. True/False Indicate whether the statement is true or false.

Ch02. True/False Indicate whether the statement is true or false. Ch02 True/False Indicate whether the statement is true or false. 1. The base class inherits all its properties from the derived class. 2. Inheritance is an is-a relationship. 3. In single inheritance,

More information

Using Inspiration 7 I. How Inspiration Looks SYMBOL PALETTE

Using Inspiration 7 I. How Inspiration Looks SYMBOL PALETTE Using Inspiration 7 Inspiration is a graphic organizer application for grades 6 through adult providing visual thinking tools used to brainstorm, plan, organize, outline, diagram, and write. I. How Inspiration

More information

BFW-037 B.Sc. FOOTWEAR TECHNOLOGY (BSCFWT) Term-End Examination. December, 2014

BFW-037 B.Sc. FOOTWEAR TECHNOLOGY (BSCFWT) Term-End Examination. December, 2014 No. of Printed Pages : 8 BFW-037 B.Sc. FOOTWEAR TECHNOLOGY (BSCFWT) Term-End Examination 00190 December, 2014 BFW-037 : COMPUTER SCIENCE Time : 3 hours Maximum Marks : 70 Note : (i) There are two sections

More information

Chapter 6 Introduction to Defining Classes

Chapter 6 Introduction to Defining Classes Introduction to Defining Classes Fundamentals of Java: AP Computer Science Essentials, 4th Edition 1 Objectives Design and implement a simple class from user requirements. Organize a program in terms of

More information

"Charting the Course... SharePoint 2007 Hands-On Labs Course Summary

Charting the Course... SharePoint 2007 Hands-On Labs Course Summary Course Summary Description This series of 33 hands-on labs allows students to explore the new features of Microsoft SharePoint Server, Microsoft Windows, Microsoft Office, including Microsoft Office Groove,

More information

C# Programming: From Problem Analysis to Program Design. Fourth Edition

C# Programming: From Problem Analysis to Program Design. Fourth Edition C# Programming: From Problem Analysis to Program Design Fourth Edition Preface xxi INTRODUCTION TO COMPUTING AND PROGRAMMING 1 History of Computers 2 System and Application Software 4 System Software 4

More information

VERIFICATION AND VALIDATION FOR QUALITY OF UML 2.0 MODELS

VERIFICATION AND VALIDATION FOR QUALITY OF UML 2.0 MODELS VERIFICATION AND VALIDATION FOR QUALITY OF UML 2.0 MODELS BHUVAN UNHELKAR, PHD WILEY- INTERSCIENCE A Wiley-lnterscience Publication JOHN WILEY & SONS, INC. Contents Figures Foreword Preface Acknowledgments

More information

SAP' ABAP. Handbook. Kogent Learning Solutions, Inc. Sudbury, Massachusetts JONES AND BARTLETT PUBLISHERS BOSTON TORONTO LONDON SINUAPORI:

SAP' ABAP. Handbook. Kogent Learning Solutions, Inc. Sudbury, Massachusetts JONES AND BARTLETT PUBLISHERS BOSTON TORONTO LONDON SINUAPORI: SAP' ABAP Handbook Kogent Learning Solutions, Inc. JONES AND BARTLETT PUBLISHERS Sudbury, Massachusetts BOSTON TORONTO LONDON SINUAPORI: Table of Contents Introduction xxi About This Book How to Use This

More information

1.2 Wicket in a nutshell 10 Just Java 11 Just HTML 12 The right abstractions 13

1.2 Wicket in a nutshell 10 Just Java 11 Just HTML 12 The right abstractions 13 contents foreword xvii preface xix acknowledgments xxi about this book xxiii PART 1 GETTING STARTED WITH WICKET...1 1 What 2 The is Wicket? 3 1.1 How we got here 4 A developer s tale 4 What problems does

More information

CONTENTS. INTRODUCTION xvii

CONTENTS. INTRODUCTION xvii INTRODUCTION xvii SECTION I: AN INTRODUCTION TO JAVA FOR RPG PROGRAMMERS 1 CHAPTER 1: JAVA FOR RPG PROGRAMMERS 3 AS/400 LIBRARIES AND JAVA PACKAGES 3 IMPORT 6 A PROGRAM WITH CLASS 7 LET S START HERE 7

More information

COPYRIGHTED MATERIAL. Contents. Part I: C# Fundamentals 1. Chapter 1: The.NET Framework 3. Chapter 2: Getting Started with Visual Studio

COPYRIGHTED MATERIAL. Contents. Part I: C# Fundamentals 1. Chapter 1: The.NET Framework 3. Chapter 2: Getting Started with Visual Studio Introduction XXV Part I: C# Fundamentals 1 Chapter 1: The.NET Framework 3 What s the.net Framework? 3 Common Language Runtime 3.NET Framework Class Library 4 Assemblies and the Microsoft Intermediate Language

More information

IT101. Inheritance, Encapsulation, Polymorphism and Constructors

IT101. Inheritance, Encapsulation, Polymorphism and Constructors IT101 Inheritance, Encapsulation, Polymorphism and Constructors OOP Advantages and Concepts What are OOP s claims to fame? Better suited for team development Facilitates utilizing and creating reusable

More information

IN PRACTICE. Daniele Bochicchio Stefano Mostarda Marco De Sanctis. Includes 106 practical techniques MANNING

IN PRACTICE. Daniele Bochicchio Stefano Mostarda Marco De Sanctis. Includes 106 practical techniques MANNING IN PRACTICE Daniele Bochicchio Stefano Mostarda Marco De Sanctis Includes 106 practical techniques MANNING contents preface xv acknowledgments xvii about this book xix about the authors xxiii about the

More information

Introduction to Windchill PDMLink 10.2 for the Implementation Team

Introduction to Windchill PDMLink 10.2 for the Implementation Team Introduction to Windchill PDMLink 10.2 for the Implementation Team Overview Course Code Course Length TRN-4262-T 2 Days In this course, you will learn how to complete basic Windchill PDMLink functions.

More information

Why Use the Autotools?...xviii Acknowledgments... xx I Wish You the Very Best... xx

Why Use the Autotools?...xviii Acknowledgments... xx I Wish You the Very Best... xx CONTENTS IN DETAIL FOREWORD by Ralf Wildenhues xv PREFACE xvii Why Use the?...xviii Acknowledgments... xx I Wish You the Very Best... xx INTRODUCTION xxi Who Should Read This Book... xxii How This Book

More information

Beginning Android Tablet

Beginning Android Tablet Beginning Android Tablet Programming Starting with Android Honeycomb for Tablets Robbie Matthews Apress* Contents About the Author About the Technical Reviewer - Acknowledgments Some Notes on Using the

More information

Fundamentals of the Java Programming Language

Fundamentals of the Java Programming Language Fundamentals of the Java Programming Language Student Guide SL-110 REV E D61798GC10 Edition 1.0 2009 D62399 Copyright 2006, 2009, Oracle and/or its affiliates. All rights reserved. Disclaimer This document

More information

Support Vector. Machines. Algorithms, and Extensions. Optimization Based Theory, Naiyang Deng YingjieTian. Chunhua Zhang.

Support Vector. Machines. Algorithms, and Extensions. Optimization Based Theory, Naiyang Deng YingjieTian. Chunhua Zhang. Support Vector Machines Optimization Based Theory, Algorithms, and Extensions Naiyang Deng YingjieTian Chunhua Zhang CRC Press Taylor & Francis Group Boca Raton London New York CRC Press is an imprint

More information

Foundations of object orientation

Foundations of object orientation Foreword Preface List of projects discussed in detail in this book Acknowledgments Part 1 Chapter 1 Chapter 2 Foundations of object orientation Objects and classes 1.1 Objects and classes 1.2 Creating

More information

C++ Important Questions with Answers

C++ Important Questions with Answers 1. Name the operators that cannot be overloaded. sizeof,.,.*,.->, ::,? 2. What is inheritance? Inheritance is property such that a parent (or super) class passes the characteristics of itself to children

More information

Learning C# 3.0. Jesse Liberty and Brian MacDonald O'REILLY. Beijing Cambridge Farnham Köln Sebastopol Taipei Tokyo

Learning C# 3.0. Jesse Liberty and Brian MacDonald O'REILLY. Beijing Cambridge Farnham Köln Sebastopol Taipei Tokyo Learning C# 3.0 Jesse Liberty and Brian MacDonald O'REILLY Beijing Cambridge Farnham Köln Sebastopol Taipei Tokyo Table of Contents Preface xv 1. C# and.net Programming 1 Installing C# Express 2 C# 3.0

More information

Contents. iii Copyright 1998 Sun Microsystems, Inc. All Rights Reserved. Enterprise Services August 1998, Revision B

Contents. iii Copyright 1998 Sun Microsystems, Inc. All Rights Reserved. Enterprise Services August 1998, Revision B Contents About the Course...xv Course Overview... xvi Course Map... xvii Module-by-Module Overview... xviii Course Objectives... xxii Skills Gained by Module... xxiii Guidelines for Module Pacing... xxiv

More information

Update to Creo Parametric 4.0 from Creo Parametric 2.0

Update to Creo Parametric 4.0 from Creo Parametric 2.0 Update to Creo from Creo Parametric 2.0 Overview Course Code Course Length TRN-5125-T 16 Hours In this course, you will learn how to utilize the variety of functionality enhancements in Creo. You will

More information

Programming. Principles and Practice Using C++ Bjarne Stroustrup. / Addison-Wesley. Second Edition

Programming. Principles and Practice Using C++ Bjarne Stroustrup. / Addison-Wesley. Second Edition Programming Principles and Practice Using C++ Second Edition Bjarne Stroustrup / Addison-Wesley Upper Saddle River, NJ Boston Indianapolis San Francisco New York Toronto Montreal London Munich Paris Madrid

More information

CITY UNIVERSITY OF NEW YORK. Creating a New Project in IRBNet. i. After logging in, click Create New Project on left side of the page.

CITY UNIVERSITY OF NEW YORK. Creating a New Project in IRBNet. i. After logging in, click Create New Project on left side of the page. CITY UNIVERSITY OF NEW YORK Creating a New Project in IRBNet i. After logging in, click Create New Project on left side of the page. ii. Enter the title of the project, the principle investigator s (PI)

More information

AP Computer Science Chapter 10 Implementing and Using Classes Study Guide

AP Computer Science Chapter 10 Implementing and Using Classes Study Guide AP Computer Science Chapter 10 Implementing and Using Classes Study Guide 1. A class that uses a given class X is called a client of X. 2. Private features of a class can be directly accessed only within

More information

Foundation XML and E4X for Flash and Flex

Foundation XML and E4X for Flash and Flex Foundation XML and E4X for Flash and Flex SasJacobs friendsof 0 D E S I G N E R TO D E S I G N E R " an Apress company About the Author About the Technical Reviewer About the Cover Image Designer Acknowledgments

More information

Microsoft. Microsoft Visual C# Step by Step. John Sharp

Microsoft. Microsoft Visual C# Step by Step. John Sharp Microsoft Microsoft Visual C#- 2010 Step by Step John Sharp Table of Contents Acknowledgments Introduction xvii xix Part I Introducing Microsoft Visual C# and Microsoft Visual Studio 2010 1 Welcome to

More information

Graphics Shaders. Theory and Practice. Second Edition. Mike Bailey. Steve Cunningham. CRC Press. Taylor&FnincIs Croup tootutor London New York

Graphics Shaders. Theory and Practice. Second Edition. Mike Bailey. Steve Cunningham. CRC Press. Taylor&FnincIs Croup tootutor London New York Graphics Shaders Second Edition ' -i'nsst«i«{r szizt/siss?.aai^m&/gm^mmm3$8iw3ii Theory and Practice Mike Bailey Steve Cunningham CRC Press Taylor&FnincIs Croup tootutor London New York CRCPrea it an Imprint

More information

Computers as Components Principles of Embedded Computing System Design

Computers as Components Principles of Embedded Computing System Design Computers as Components Principles of Embedded Computing System Design Third Edition Marilyn Wolf ELSEVIER AMSTERDAM BOSTON HEIDELBERG LONDON NEW YORK OXFORD PARIS SAN DIEGO SAN FRANCISCO SINGAPORE SYDNEY

More information

Modern C++ Design. Generic Programming and Design Patterns Applied. Andrei Alexandrescu. AAddison-Wesley

Modern C++ Design. Generic Programming and Design Patterns Applied. Andrei Alexandrescu. AAddison-Wesley Modern C++ Design Generic Programming and Design Patterns Applied Andrei Alexandrescu f AAddison-Wesley Boston San Francisco New York Toronto Montreal London Munich Paris Madrid Capetown Sydney Tokyo Singapore

More information

Modern C++ Design. Generic Programming and Design Patterns Applied. Andrei Alexandrescu. .~Addison-Wesley

Modern C++ Design. Generic Programming and Design Patterns Applied. Andrei Alexandrescu. .~Addison-Wesley Modern C++ Design Generic Programming and Design Patterns Applied Andrei Alexandrescu.~Addison-Wesley Boston " San Francisco " New York " Toronto " Montreal London " Munich " Paris " Madrid Capetown "

More information

TABLE OF CONTENTS PREFACE CHAPTER1 INTRODUCING WINDOWS++ 1

TABLE OF CONTENTS PREFACE CHAPTER1 INTRODUCING WINDOWS++ 1 TABLE OF CONTENTS PREFACE xv CHAPTER1 INTRODUCING WINDOWS++ 1 1.1 The Problem: How to Reuse Code? 1 1.2 A Solution: Windows++ 3 1.2.1 WhyC++? 6 1.2.2 Design Goals 7 1.3 Hello, Windows++ 8 CHAPTER2 POINTS,

More information

Inheritance. Inheritance Reserved word protected Reserved word super Overriding methods Class Hierarchies Reading for this lecture: L&L

Inheritance. Inheritance Reserved word protected Reserved word super Overriding methods Class Hierarchies Reading for this lecture: L&L Inheritance Inheritance Reserved word protected Reserved word super Overriding methods Class Hierarchies Reading for this lecture: L&L 9.1 9.4 1 Inheritance Inheritance allows a software developer to derive

More information

[CHAPTER] 1 INTRODUCTION 1

[CHAPTER] 1 INTRODUCTION 1 FM_TOC C7817 47493 1/28/11 9:29 AM Page iii Table of Contents [CHAPTER] 1 INTRODUCTION 1 1.1 Two Fundamental Ideas of Computer Science: Algorithms and Information Processing...2 1.1.1 Algorithms...2 1.1.2

More information

Easy Object Programming for Windows Using Visual C++

Easy Object Programming for Windows Using Visual C++ Easy Object Programming for Windows Using Visual C++ Richard O. Parker PRENTICE HALL, Englewood Cliffs, New Jersey 07632 Table of Contents Preface Acknowledgments Notation Used in This Book How to Use

More information

Designing Object-Oriented C++ Applications

Designing Object-Oriented C++ Applications Designing Object-Oriented C++ Applications Using the Booch Method Robert Cecil Martin Object Mentor Associates Technieche Universftat Dermstadt FACHBEREUCH INFORMATIK B1BL1OTHEK Sachgebtete: Stendort Cliffs,

More information

Xcode 6 Start to Finish

Xcode 6 Start to Finish Xcode 6 Start to Finish ios and OS X Development Fritz Anderson VAddison-Wesley New York Boston Indianapolis San Francisco Toronto Montreal Capetown Sydney London Munich Paris Madrid Tokyo Singapore Mexico

More information

CHAPTER 1: INTRODUCTION TO THE IDE 3

CHAPTER 1: INTRODUCTION TO THE IDE 3 INTRODUCTION xxvii PART I: IDE CHAPTER 1: INTRODUCTION TO THE IDE 3 Introducing the IDE 3 Different IDE Appearances 4 IDE Configurations 5 Projects and Solutions 6 Starting the IDE 6 Creating a Project

More information

This course is designed for web developers that want to learn HTML5, CSS3, JavaScript and jquery.

This course is designed for web developers that want to learn HTML5, CSS3, JavaScript and jquery. HTML5/CSS3/JavaScript Programming Course Summary Description This class is designed for students that have experience with basic HTML concepts that wish to learn about HTML Version 5, Cascading Style Sheets

More information

8.1 Inheritance. 8.1 Class Diagram for Words. 8.1 Words.java. 8.1 Book.java 1/24/14

8.1 Inheritance. 8.1 Class Diagram for Words. 8.1 Words.java. 8.1 Book.java 1/24/14 8.1 Inheritance superclass 8.1 Class Diagram for Words! Inheritance is a fundamental technique used to create and organize reusable classes! The child is- a more specific version of parent! The child inherits

More information

An Introduction to Object-Oriented Programming

An Introduction to Object-Oriented Programming An Introduction to Object-Oriented Programming Timothy Budd Oregon State University TT Addison-Wesley Publishing Company Reading, Massachusetts Menlo Park, California New York Don Mills, Ontario Wokingham,

More information

Programming II (CS300)

Programming II (CS300) 1 Programming II (CS300) Chapter 05: Inheritance and Interfaces MOUNA KACEM mouna@cs.wisc.edu Fall 2018 Inheritance and Interfaces 2 Introduction Inheritance and Class Hierarchy Polymorphism Abstract Classes

More information

Excel Programming with VBA (Macro Programming) 24 hours Getting Started

Excel Programming with VBA (Macro Programming) 24 hours Getting Started Excel Programming with VBA (Macro Programming) 24 hours Getting Started Introducing Visual Basic for Applications Displaying the Developer Tab in the Ribbon Recording a Macro Saving a Macro-Enabled Workbook

More information

Installing SharePoint Server 2007

Installing SharePoint Server 2007 Installing Microsoft Office SharePoint Server 2007 1. Login to the computer with Domain Admin Account 2. Install Microsoft Windows Server 2003 Enterprise or Standard 3. Install Windows Server 2003 Service

More information

Subject to Change Drawing Application 1 Introducing Computers, the Internet and C#

Subject to Change Drawing Application 1 Introducing Computers, the Internet and C# CO N T E N T S Subject to Change 08-01-2003 Preface Before You Begin Brief Table of Contents i iv vii 1 Drawing Application 1 Introducing Computers, the Internet and C# 1.1 What Is a Computer? 1 1.2 Computer

More information

Contents. Table of Contents. Table of Contents... iii Preface... xvii. Getting Started iii

Contents. Table of Contents. Table of Contents... iii Preface... xvii. Getting Started iii Contents Discovering the Possibilities... iii Preface... xvii Preface to the First Edition xvii Preface to the Second Edition xviii Getting Started... 1 Chapter Overview 1 Philosophy Behind this Book 1

More information

Microsoft Visual C# Step by Step. John Sharp

Microsoft Visual C# Step by Step. John Sharp Microsoft Visual C# 2013 Step by Step John Sharp Introduction xix PART I INTRODUCING MICROSOFT VISUAL C# AND MICROSOFT VISUAL STUDIO 2013 Chapter 1 Welcome to C# 3 Beginning programming with the Visual

More information

Murach s Beginning Java with Eclipse

Murach s Beginning Java with Eclipse Murach s Beginning Java with Eclipse Introduction xv Section 1 Get started right Chapter 1 An introduction to Java programming 3 Chapter 2 How to start writing Java code 33 Chapter 3 How to use classes

More information

Computer Arithmetic andveriloghdl Fundamentals

Computer Arithmetic andveriloghdl Fundamentals Computer Arithmetic andveriloghdl Fundamentals Joseph Cavanagh Santa Clara University California, USA ( r ec) CRC Press vf J TayiorS«. Francis Group ^"*" "^ Boca Raton London New York CRC Press is an imprint

More information

Python Scripting for Computational Science

Python Scripting for Computational Science Hans Petter Langtangen Python Scripting for Computational Science Third Edition With 62 Figures 43 Springer Table of Contents 1 Introduction... 1 1.1 Scripting versus Traditional Programming... 1 1.1.1

More information

1 OBJECT-ORIENTED PROGRAMMING 1

1 OBJECT-ORIENTED PROGRAMMING 1 PREFACE xvii 1 OBJECT-ORIENTED PROGRAMMING 1 1.1 Object-Oriented and Procedural Programming 2 Top-Down Design and Procedural Programming, 3 Problems with Top-Down Design, 3 Classes and Objects, 4 Fields

More information

CITY UNIVERSITY OF NEW YORK. i. Visit:

CITY UNIVERSITY OF NEW YORK. i. Visit: CITY UNIVERSITY OF NEW YORK I. ACCESSING IRB NET (New Registration) i. Visit: https://www.irbnet.org/release/index.html ii. New users: Click on New Registration in the top right corner iii. Fill-out the

More information

VBA for AutoCAD 2002:

VBA for AutoCAD 2002: VBA for AutoCAD 2002: Writing AutoCAD Macros JEFFREY E. CLARK Prentice Hall PTR Upper Saddle River, NJ 07458 www.phptr. com '^J-? CONTENTS PREFACE xxi ACKNOWLEDGMENTS xxix Part One: The AutoCAD VBA Environment

More information

Absolute C++ Walter Savitch

Absolute C++ Walter Savitch Absolute C++ sixth edition Walter Savitch Global edition This page intentionally left blank Absolute C++, Global Edition Cover Title Page Copyright Page Preface Acknowledgments Brief Contents Contents

More information

Chapter 4 Defining Classes I

Chapter 4 Defining Classes I Chapter 4 Defining Classes I This chapter introduces the idea that students can create their own classes and therefore their own objects. Introduced is the idea of methods and instance variables as the

More information

CLASSES AND OBJECTS IN JAVA

CLASSES AND OBJECTS IN JAVA Lesson 8 CLASSES AND OBJECTS IN JAVA (1) Which of the following defines attributes and methods? (a) Class (b) Object (c) Function (d) Variable (2) Which of the following keyword is used to declare Class

More information

Professional. haxe and Neko. Franco Ponticelli Lee McColl-Sylvester WILEY. Wiley Publishing, Inc.

Professional. haxe and Neko. Franco Ponticelli Lee McColl-Sylvester WILEY. Wiley Publishing, Inc. Professional haxe and Neko Franco Ponticelli Lee McColl-Sylvester WILEY Wiley Publishing, Inc. Acknowledgments Foreword Introduction xi xiii xxv Part I: The Core Language Chapter 1: Introducing haxe 3

More information

INFORMATION HIDING IN COMMUNICATION NETWORKS

INFORMATION HIDING IN COMMUNICATION NETWORKS 0.8125 in Describes information hiding in communication networks, and highlights its important issues, challenges, trends, and applications. Highlights development trends and potential future directions

More information

Beginning Database. Design. From Novice to Professional. Clare Churcher. Apress-

Beginning Database. Design. From Novice to Professional. Clare Churcher. Apress- Beginning Database Design From Novice to Professional Clare Churcher Apress- Contents J Foreword About the Author About the Technical Reviewer Acknowledgments Introduction xv xvii.xix xxi xxiii Chapter

More information

Oracle BI 11g R1: Build Repositories

Oracle BI 11g R1: Build Repositories Oracle BI 11g R1: Build Repositories Volume I - Student Guide D63514GC11 Edition 1.1 June 2011 D73309 Author Jim Sarokin Technical Contributors and Reviewers Marla Azriel Roger Bolsius Bob Ertl Alan Lee

More information

object/relational persistence What is persistence? 5

object/relational persistence What is persistence? 5 contents foreword to the revised edition xix foreword to the first edition xxi preface to the revised edition xxiii preface to the first edition xxv acknowledgments xxviii about this book xxix about the

More information

Beginning ASP.NET. 4.5 in C# Matthew MacDonald

Beginning ASP.NET. 4.5 in C# Matthew MacDonald Beginning ASP.NET 4.5 in C# Matthew MacDonald Contents About the Author About the Technical Reviewers Acknowledgments Introduction xxvii xxix xxxi xxxiii UPart 1: Introducing.NET. 1 & Chapter 1: The Big

More information

OLLSCOIL NA héireann THE NATIONAL UNIVERSITY OF IRELAND COLÁISTE NA hollscoile, CORCAIGH UNIVERSITY COLLEGE, CORK. Summer Examination 2012

OLLSCOIL NA héireann THE NATIONAL UNIVERSITY OF IRELAND COLÁISTE NA hollscoile, CORCAIGH UNIVERSITY COLLEGE, CORK. Summer Examination 2012 OLLSCOIL NA héireann THE NATIONAL UNIVERSITY OF IRELAND COLÁISTE NA hollscoile, CORCAIGH UNIVERSITY COLLEGE, CORK Summer Examination 2012 Computer Science CS5015 Object-oriented Software Development Prof.

More information

Modern C++ Design. Generic Programming and Design Patterns Applied. Andrei Alexandrescu

Modern C++ Design. Generic Programming and Design Patterns Applied. Andrei Alexandrescu Modern C++ Design Generic Programming and Design Patterns Applied Andrei Alexandrescu ADDISON-WESLEY Boston San Francisco New York Toronto Montreal London Munich Paris Madrid Capetown Sydney Tokyo Singapore

More information

Data Abstraction. Hwansoo Han

Data Abstraction. Hwansoo Han Data Abstraction Hwansoo Han Data Abstraction Data abstraction s roots can be found in Simula67 An abstract data type (ADT) is defined In terms of the operations that it supports (i.e., that can be performed

More information

Contents. 2 Introduction to C++ Programming,

Contents. 2 Introduction to C++ Programming, cppfp2_toc.fm Page vii Thursday, February 14, 2013 9:33 AM Chapter 24 and Appendices F K are PDF documents posted online at www.informit.com/title/9780133439854 Preface xix 1 Introduction 1 1.1 Introduction

More information

Introduction to PTC Windchill PDMLink 11.0 for the Implementation Team

Introduction to PTC Windchill PDMLink 11.0 for the Implementation Team Introduction to PTC Windchill PDMLink 11.0 for the Implementation Team Overview Course Code Course Length TRN-4752-T 16 Hours In this course, you will learn how to complete basic Windchill PDMLink functions.

More information

Acknowledgments. Chapter 1: Primer in Excel VBA 1. Chapter 2: The Application Object 63

Acknowledgments. Chapter 1: Primer in Excel VBA 1. Chapter 2: The Application Object 63 Acknowledgments Introduction xxi xxiii Chapter 1: Primer in Excel VBA 1 Using the Macro Recorder 2 Recording Macros 2 Running Macros 6 The Visual Basic Editor 8 Other Ways to Run Macros 11 User-Defined

More information

Kalaivani Ananthan Version 2.0 October 2008 Funded by the Library of Congress

Kalaivani Ananthan Version 2.0 October 2008 Funded by the Library of Congress RUTGERS UNIVERSITY LIBRARIES OpenMIC User Manual Bibliographic Utility for analog and digital objects Kalaivani Ananthan Version 2.0 October 2008 Funded by the Library of Congress Table of Contents I.

More information

PTC Mathcad Prime 3.0

PTC Mathcad Prime 3.0 Essential PTC Mathcad Prime 3.0 A Guide for New and Current Users Brent Maxfield, P.E. AMSTERDAM BOSTON HEIDELBERG LONDON NEW YORK OXFORD PARIS SAN DIEGO SAN FRANCISCO SINGAPORE SYDNEY TOKYO @ Academic

More information

Introduction to PTC Windchill MPMLink 11.0

Introduction to PTC Windchill MPMLink 11.0 Introduction to PTC Windchill MPMLink 11.0 Overview Course Code Course Length TRN-4754-T 16 Hours In this course, you will learn how to complete basic Windchill MPMLink functions. You will learn about

More information