140 likes | 157 Vues
TCU CoSc 10403 Introduction to Programming (with Java). Getting to Know Java. Problem Solving. The purpose of writing a program is to solve a problem . Problem solving consists of multiple steps: Understanding the problem. Breaking the problem into manageable pieces. Designing a solution.
E N D
TCU CoSc 10403 Introduction to Programming (with Java) Getting to Know Java
Problem Solving • The purpose of writing a program is to solve a problem. Problem solving consists of multiple steps: • Understanding the problem. • Breaking the problem into manageable pieces. • Designing a solution. • Implementing the solution. • Testing the solution and fixing any problems that exist.
The Java Programming Language • A programming language defines a set of rules: • That determine exactly how a programmer can combine words and symbols of the language into programming statements. • Programming statements are the instructions that are carried out when the program is executed. • Java is an object-oriented programming language (more about that later). • Java is one of the fastest growing programming technologies of all time.
Reasons Why Java is Popular • Java is the first programming language to deliberately embrace the concept of writing programs that can be executed on the Web. • Moreso, Java is a useful general purpose programming language. • The Java language is accompanied by a libraryof extra software that we can use when developing programs. • The library provides the ability to create graphics, communicate over networks, and interact with databases. • The set of supporting libraries is huge and versatile.
I’ve been telling you that Java is an Object Oriented Programming Language - what exactly does that mean? To understand - we need to discuss and understand what an Object is and how it relates to a Class!!
Anatomy of a Java class A class is a description of a template (or pattern) that specifies the types of data values that an instance of the class can hold and the operations that it can perform. In OOP, rather than describe each and every object, the programmer describes the general type of an object (a class) and then uses the class to create (or instantiate) as many of the objects as are needed. Example: a class describing”generic” students at TCU. Instance variables - the data that is maintained for students (ex., name, address, age, …) Constructors - methods that are involved in the construction of an instance of a class. Methods - subprograms that permit instance variables to be accessed and modified (ex., setName(), setMajor(), getAge(), setAge(), …)
A class (the concept) An object (the realization) BankAccount John’s Bank Account Balance: $5,257 Bill’s Bank Account Balance: $1,245,069 Multiple objects from the same class Mary’s Bank Account Balance: $16,833 Example: consider a banking problem
Let’s discuss these concepts further!! • A class-- the basic building block of an object-oriented language. • It is a template/pattern that describes the data and behavior associated with instances of that class. • When you instantiate a class you create an object that looks and feels like other instances of the same class. • The data associated with a class or object is stored in instancevariables; • the behavior associated with a class or object is implemented with methods. Methods are similar to the functions or procedures in other procedural languages. ** Some author wrote: Julia Child's recipe for rack of lamb is a real-world example of a class. Her rendition of the rack of lamb is one instance of the recipe, and mine is quite another. (While both racks of lamb may "look and feel" the same, I imagine that they "smell and taste" different.)
Constructors • A constructor: – is a special method that is used to set up a newly created object – often sets the initial values of variables (i.e., it can be passed information that can be used to initialize some variables in the object) – has the same name as the class – does not return a value – has no return type, not even void • The programmer does not have to define a constructor for a class (there is a default constructor for every class – its syntax is: theNameOfTheclass() • For example, a class named Student could have a constructor that receives a parameter specifying the Student’s name: Student tommy = new Student(“Tom Jones”);
Inheritance • Classes are defined in a hierarchy • A class can extend (inherit from) some other class Object => Component => Container => Panel => Applet • Thus, an Applet can do everything that Panel does and some other things. A Panel can do everything a Container can do, etc… • Advantage • Easy to extend or specialize something that already exists. Note: we take advantage of this when we write: public class HelloWorld extends Applet { … } • Disadvantage • Sometimes difficult to find everything that a class does; you may have to look up the tree.
Person class (called a superclass) Student class (extends Person) Faculty class(extends Person) Administrator class(extends Person) Inheritance • One class can be used to derive another via inheritance. • A class can extend (inherit from) some other class Subclasses or “derived” classes - may have more than just 2 levels.
Java Components • Package (what the import statement brings in!!) • collection of related classes • Class • description of an object (template) • variables + methods • Variable – name for memory location for a data item • Method – specifies an action on an object • retrieve/return info or change info • Object • instance of a class • created by the “new” operator • Java program = collection of cooperating objects
Creating Objects jackSmith Instance of the Person class containing a copy of all instance variables and all methods • The newoperator creates a new object from a class: • Example: Person jackSmith = new Person (); Person sallyJones = new Person(); • This declaration asserts that jackSmith and sallyJones are variables that refer to objects created from the Person class. • They are initialized (set to point) to the objects created by the new operator • The newly created object is actually created and allocated to memory by a call to a very special method contained within the class - a constructorof the class. sallyJones Instance of the Person class containing a copy of all instance variables and all methods
Choosing Identifier Names Identifier names should be descriptive. • Avoid meaningless names such as a or x. • Unless the name is actually descriptive, such as using x and yto represent (x,y) coordinates. • Avoid using unnecessarily long names (unless they promote better readability - example: yearToDateSalary). • A “name” in Java is a series of identifiers separate by the dot (period) character. • The name System.out is the ‘name’ of an object through which we invoke the println method. (println is a method inside the object.)