Jeremy Wells https://twitter.com/jermywells https://plus.google.com/+JeremyWells

Slides:



Advertisements
Similar presentations
Understand and appreciate Object Oriented Programming (OOP) Objects are self-contained modules or subroutines that contain data as well as the functions.
Advertisements

Objects and Classes David Walker CS 320. Advanced Languages advanced programming features –ML data types, exceptions, modules, objects, concurrency,...
Object-Oriented Programming. 2 An object, similar to a real-world object, is an entity with certain properties, and with the ability to react in certain.
Department of Computer Engineering Faculty of Engineering, Prince of Songkla University 1 5 – Abstract Data Types.
1 OBJECT-ORIENTED CONCEPTS. 2 What is an object?  An object is a software entity that mirrors the real world in some way.  A software object in OOP.
OBJECT ORIENTED PROGRAMMING M Taimoor Khan
CSE 425: Semantics II Implementing Scopes A symbol table is in essence a dictionary –I.e., every name appears in it, with the info known about it –Usually.
1 G54PRG Programming Lecture 1 Amadeo Ascó Adam Moore 20 Object Oriented Theory II.
C++ Inheritance Gordon College CPS212. Basics OO-programming can be defined as a combination of Abstract Data Types (ADTs) with Inheritance and Dynamic.
Object Oriented Programming A brief review of what you should know about OOP.
OOP in Java Nelson Padua-Perez Chau-Wen Tseng Department of Computer Science University of Maryland, College Park.
C++ Training Datascope Lawrence D’Antonio Lecture 3 An Overview of C++
Object-oriented Programming Concepts
WEL COME PRAVEEN M JIGAJINNI PGT (Computer Science) MCA, MSc[IT], MTech[IT],MPhil (Comp.Sci), PGDCA, ADCA, Dc. Sc. & Engg.
OOP in Java Fawzi Emad Chau-Wen Tseng Department of Computer Science University of Maryland, College Park.
BACS 287 Basics of Object-Oriented Programming 1.
What is Object-Oriented Programming?. Objects – Variables and Logic inside "Objects", not standalone code – Objects contain related variables and functions.
UFCEUS-20-2 : Web Programming Lecture 5 : Object Oriented PHP (1)
Programming Languages and Paradigms Object-Oriented Programming.
Design Patterns.
Eclipse – making OOP Easy
Welcome to OBJECT ORIENTED PROGRAMMIN Date: 10/09/2014 Prepared By Prepared By : VINAY ALEXANDER PGT(CS) KV jhagrakhand.
OOPs Object oriented programming. Based on ADT principles  Representation of type and operations in a single unit  Available for other units to create.
O BJECT O RIENTATION F UNDAMENTALS Prepared by: Gunjan Chhabra.
An Object-Oriented Approach to Programming Logic and Design
School of Computer Science & Information Technology G6DICP - Lecture 22 The Theory of Object Oriented Programming.
JavaScript, Fourth Edition
ProgrammingLanguages Programming Languages Object-oriented Programming Languages This lecture discusses the concept of object- oriented programming.
Guided Notes Ch. 9 ADT and Modules Ch. 10 Object-Oriented Programming PHP support for OOP and Assignment 4 Term project proposal C++ and Java Designer.
1 Life Cycle of Software Specification Design –Risk Analysis –Verification Coding Testing –Refining –Production Maintenance.
Software Development. Software Developers Refresher A person or organization that designs software and writes the programs. Software development is the.
OOP Class Lawrence D’Antonio Lecture 3 An Overview of C++
INT222 - Internet Fundamentals Shi, Yue (Sunny) Office: T2095 SENECA COLLEGE.
Lecture 12 March 16, The Scope of a Variable What if there are two variables with the same name? –A local or block-local variable can have the same.
Introduction to c++ programming - object oriented programming concepts - Structured Vs OOP. Classes and objects - class definition - Objects - class scope.
Abstraction ADTs, Information Hiding and Encapsulation.
Basic Concepts of Object Orientation Object-Oriented Analysis CIM2566 Bavy LI.
(1) ICS 313: Programming Language Theory Chapter 12: Object Oriented Programming.
OOPs Object oriented programming. Abstract data types  Representationof type and operations in a single unit  Available for other units to create variables.
Object Oriented Programming
Object-Oriented Programming © 2013 Goodrich, Tamassia, Goldwasser1Object-Oriented Programming.
Lesson 1 1 LESSON 1 l Background information l Introduction to Java Introduction and a Taste of Java.
Basic Concepts of OOP.  Object-Oriented Programming (OOP) is a type of programming added to php5 that makes building complex, modular and reusable web.
Learning OOP in PHP. What is OOP? OOP stands for Object Oriented Programming. OOP is a programming paradigm wherein you create “objects” to work with.
Presented by Ted Higgins, SQL Server DBA An Introduction to Object – Oriented Programming.
YG - CS Concept of Encapsulation What is encapsulation? - data and functions/methods are packaged together in the class normally.
COP 4331 – OOD&P Lecture 7 Object Concepts. What is an Object Programming language definition: An instance of a class Design perspective is different.
Industrial Group Project Introduction to Object Oriented Programming Adelina Basholli, February, 2016.
Welcome to OBJECT ORIENTED PROGRAMMING Prepared By Prepared By : VINAY ALEXANDER PGT(CS) KV jhagrakhand.
Cake PHP – OOPS approach for PHP
Object-Oriented Design
Programming paradigms
Programming Paradigms
Tips on coding practices
CHAPTER 5 GENERAL OOP CONCEPTS.
Introduction to Design Patterns
CS 326 Programming Languages, Concepts and Implementation
Object-Orientated Programming
INTRODUCTION TO OBJECT-ORIENTED PROGRAMMING (OOP) & CONCEPTS
PRINCIPALES OF OBJECT ORIENTED PROGRAMMING
Types of Programming Languages
Object Oriented Analysis and Design
Object-Oriented Programming
Object-Oriented Programming
Object Oriented Programming
Java Programming Course
Object-Oriented Programming
Object-Oriented Programming
Object-Oriented PHP (1)
Extending Interface Based Design
Presentation transcript:

Jeremy Wells JAVASCRIPT if (!theFrontier.final()) {theFrontier.current(true);} (if not the final frontier, the current one)

JAVASCRIPT An object based language Has risen to a primary role in all modern web applications Is capable of OOP

OBJECT ORIENTED JAVASCRIPT No less dynamic than other JS No less functional than other JS It’s better organized It’s more easily managed It’s more easily maintained It's more easily unit tested It’s more modular etc, etc, etc... [We all know why OOP is good, right?]

OBJECT ORIENTED JAVASCRIPT No classes like C# A function creates an object No access modifiers like C# Put them out of your mind [We all know why OOP is good, right?]

What is OOP? Inheritance Encapsulation Polymorphism Abstraction Visit OOP article->

Inheritance -A mechanism for code reuse, serving to establish a hierarchy between objects Go to Inheritance Fiddle ->

Encapsulation -Restricts access to an object's properties or components. -Bundles logical units of data/code together with methods intended to operate on that data/code. Go to Encapsulation Fiddle ->

Polymorphism -An object is also another object. -Ad Hoc (overloading), Parametric (generics), Subtype (example below). Go to Polymorphism Fiddle ->

Abstraction -A separation of concepts based upon logical units of implementation. -Removing non-essential characteristics from something in order to reduce it to a set of essential characteristics Go to Abstraction Fiddle ->

Scope Scope / Execution ContextExecution Context -Global scope, Function scope, eval code Scope | Execution Context Scope and Execution Context are the same thing. Global Scope Function Scope *image from davidshariff.com

HoistingHoisting/Scalar Promotion/Loop Invariant Code MotionScalar Promotion/Loop Invariant Code Motion -Functions and Variables are automatically moved to the top of their containing scopes/execution contexts. Hoisting | Scalar Promotion | Loop Invariant Code Motion 1. Variables 2. Functions function expressions var foo = function(){ … } (go to fiddle - >)(go to fiddle - >) types as variables var foo = ‘something’; var bar = 1; (go to fiddle ->)(go to fiddle ->) function declarations function foo (){ … } (go to fiddle ->) (go to fiddle ->)

Common Design Patterns -Singleton Pattern Go to Singleton Fiddle ->

Common Design Patterns -Factory Pattern Go to Factory Fiddle ->

Common Design Patterns -Fluent Interface / Extension Methods Go to Fluent Interface / Extension Methods Fiddle ->

Jeremy Wells JAVASCRIPT if (!theFrontier.final()) {theFrontier.current(true);} (if not the final frontier, the current one)