Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 Programming James King 12 August 2003 2 Aims Give overview of concepts addressed in Web based programming module Teach you enough Java to write simple.

Similar presentations


Presentation on theme: "1 Programming James King 12 August 2003 2 Aims Give overview of concepts addressed in Web based programming module Teach you enough Java to write simple."— Presentation transcript:

1

2 1 Programming James King 12 August 2003

3 2 Aims Give overview of concepts addressed in Web based programming module Teach you enough Java to write simple web and network applications

4 3 Warning THIS IS NOT A WEB AUTHORING COURSE We will not teach HTML, PSP, etc… We will show you how to write Java applications that use the web and internet We will (hopefully) improve your programming ability We will teach Object orientated concepts, good programming practice and how to debug/document your code It is vital to bring the code examples with you to the lecture

5 4 The Course Topics Object orientation and Java programming Applets and GUI programming File handling Input and Output Streams Multiple threads of execution Network programming

6 5 Useful Resources These slides are the course book hopelive.hope.ac.uk/imc/kingj The BlueJ development environment is available free from www.bluej.orgwww.bluej.org The blueJ book is useful if you want additional practical exercises. Barnes, D and Kolling, M. Objects first with Java – A practical introduction using BlueJ. Prentice Hall. 2003 http://java.sun.comhttp://java.sun.comThis site contains a freely downloadable version of Java for most operating systems and computer hardware. It also contains the very useful Java tutorial and Java language documentation.

7 6 Advice You can’t learn to program just by understanding the theory Programming requires practice and more practice. Don’t give up because it is not easy to start with once you grasp the concepts it will get easier Don’t be surprised when you make mistakes - learn from them No programming language or environment is perfect sometimes the error messages are difficult to understand or don’t point you to the cause of the problem

8 7 A few Words about the Labs The labs are designed for you to learn how Java program behave and experiment and have fun You will learn faster and have more fun if you take the programming examples and modify them to see what happens. You will get used to the error messages Try to run them in your head or on paper before you run them on the computer you will get a feel for what the language can and can not do All the examples are carefully chosen to illustrate a point. Don’t worry that they are not all useful programs

9 8 This Weeks Topics Object Orientated Concepts Objects Methods and Attributes Messages, parameters and protocols Classes Instances Inheritance and overriding

10 9 Objects Basic Java Language Section

11 10 Objects model real world entities such as a person, food, car, house, umbrella Objects only need to model the “interesting” information and behaviours For a personnel database person may contain name, address, age, current wage etc. and behaviours such as change address, promotion In a computer game health, current weapon and direction may be important and behaviours such as shoot, walk, run and change direction Object oriented concepts Objects

12 11 Anatomy of an object - Terminology The individual pieces of information such as the health of a monster or the number of bullets are called attributes The entire information stored inside an object can be referred to en masse as its state

13 12 Anatomy of an object The behaviours of on object such as change address are implemented inside methods Methods are bundles of code When invoked the code in a method is executed line by line Methods may examine and modify any of the attributes inside the object they are part of

14 13 Java Language Structure Basic Java Language Section

15 14 Java Structure – Based around blocks Blocks are defined between a { and a } { must be balanced by a } A Method is a block with a name Attributes also require names Names cannot contain spaces or start with a number such as 2 A block may be nested totally inside a block but no block may be partially inside another block

16 15 Java Class Example class Hero { int bullets; void shoot() { bullets=bullets-1; } Name of class Indicates start of class Indicates end of class Indicates start of method Name of method Indicates end of method Name of attribute

17 16 class Monster { int health; void take_damage() { health=health-10; } Java Class Example2 This is the body of the class it contains one method and one attribute This is the body of method it contains one line of code and is inside the body of the class

18 17 Java Structure – Based around blocks {}{} {}{} {}{} {}{} {}{} {}{} One block followed by another block is fine One block inside by another block is fine One partially inside by another block is an error

19 18 Object oriented concepts What is a program? A program is a collection of objects (possible many different types) that interact together by calling each other’s methods. For example in a computer game if the hero shoots a monster several methods are called: The hero's gun uses one bullet (shoot method) The monster loses health (take damage method)

20 19 Object oriented concepts Terminology Invoking a behavior by calling a method is referred to as sending the object a message The set of messages an object understands is called its protocol Sending an object a message it does not understand usually results in a error and your program stopping/crashing

21 20 Collaborating Objects bullets = bullets -1 Shoot message health = health - 10 Take damage message user hits the mouse button Hero object receives a shoot message Monster object receives a take_damage message

22 21 Objects Summary The state of the object is stored inside the object in attributes e.g. the age of the person Responses to messages are stored as executable code (the code associated with a message is called a method). The set of messages an object can understand is its protocol

23 22 Messages and Objects Basic Java Language Section

24 23 Simple Messages Sometimes receiving a message is enough information to perform your behaviour For instance receiving a message that it is your birthday is enough to increment your age

25 24 class Monster { int health; void take_damage() { health=health-10; } Object oriented concepts Objects – Java Example Indicates it’s a simple message Name of method

26 25 Messages with Parameters Sometimes you need additional information to perform a behaviour. For instance if the monster is hit by a non- standard weapon we need to know how much damage the weapon did. This additional information is presented as one or more parameters (also called arguments in some older books)

27 26 class Monster { int health; void take_unusual_damage(int damage) { health = health - damage; } Objects – More complex Messages Name of parameter The attribute health is modified to take the same value as the parameter minus its old value. When modified its overwritten its old value is then lost forever Type of parameter (more about types later)


Download ppt "1 Programming James King 12 August 2003 2 Aims Give overview of concepts addressed in Web based programming module Teach you enough Java to write simple."

Similar presentations


Ads by Google