DOC PREVIEW
TRINITY CSCI 1320 - Basics of Object-Orientation

This preview shows page 1-2-3-4 out of 12 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 12 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 12 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 12 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 12 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 12 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

Slide 1Slide 2Slide 3Slide 4Slide 5Slide 6Slide 7Slide 8Slide 9Slide 10Slide 11Slide 12Basics of Object-Orientation4-27-2011Opening DiscussionDo you have any questions about the quiz?Minute essay commentsTwo paths of the same length.No path to exit.Not retracing steps.Nothing can go wrong with me writing the code. (Wishful thinking on the part of one student.)MazesFinishing shortest path.Adding breadcrumbs.Slow in the worst case because this does all possible paths.Superior SortsWe can also use recursion to write some better sorts.All of our old sorts could have been written with recursion, but only as a substitute for iteration.With recursion we can do sorts that work by repeatedly breaking the set down then work recursively on the pieces.Do they do the work on the way down the stack or back up?Work fairly well on lists.Merge SortSimple descriptionBreak the collection in two and make a recursive call on the two halves.Merge together the sorted results with an O(n) merge.Can't be done in place, but that is advantageous for lists which are immutable.O(n log n) all the time.Quick SortDescriptionPick a pivot and move everything less than the pivot below and everything greater above.Recurse on the two sides of the pivot.Can be done in place, but Scala collection methods allow very simple form that isn't in place. We'll wrote both.Speed depends on pivot selection. O(n log n) on average with random data, but can be as bad as O(n2) with bad pivots.Object-OrientationWe have been dealing with objects all semester, but we haven't really faced object-orientation head on.The OO paradigm is characterized by encapsulation, the grouping of data and functions together into objects.The data is called members and the functions are called methods.The idea is that an object knows some things and how to do some things.ClassesScala is a class-based OO language. In the code we write classes which act as the blueprints of objects.These start just like the case classes we saw before, but the word case isn't required.Put the body of the class in curly braces after the declaration and arguments.Differences from Case ClassesMembers a private by default so you can only see them in the class.Have to be made with new.Code in the body of the class is executed immediately.Functions defined in the body are methods of the objects.Data defined in the class are members of the objects.You can make things private.Making ObjectsThe class is only a blueprint. To get an object we have to instantiate an instance form the class.new ClassName(arguments)This expression can be assigned to values or passed into functions. The type is the name of the class.Once you have an object you can access members and methods using the dot notation.Operators as MethodsYou can use symbols for method names and use them with operator syntax.This lets you do things like a+b when a and b are of a type you created.Minute EssayDo you have any final requests before the last day of


View Full Document

TRINITY CSCI 1320 - Basics of Object-Orientation

Documents in this Course
Functions

Functions

10 pages

Functions

Functions

10 pages

Graphics

Graphics

10 pages

Graphics

Graphics

11 pages

Loops

Loops

4 pages

Loops

Loops

3 pages

Strings

Strings

9 pages

Functions

Functions

10 pages

Loops

Loops

11 pages

Graphics

Graphics

11 pages

Graphics

Graphics

12 pages

Sorting

Sorting

11 pages

Sorting

Sorting

10 pages

Arrays

Arrays

10 pages

Loops

Loops

18 pages

Load more
Download Basics of Object-Orientation
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Basics of Object-Orientation and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Basics of Object-Orientation 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?