Exam sample https://drive.google.com/folderview?id=12VF1XlEkH8Zou79suaapEzzZQmuYgMnx
fstm.kuis.edu.my/blog/oop/
TDCS2063 Object Oriented Programming
Rationale of Subject:
To expose students to the principles and practices of object oriented programming; such as class and methods, inheritance and GUI components. This course is important as the object oriented programming is one of the tools to create reliable applications.
Course Outline:
By the end of the course, students should be able to
- explain the object oriented programming concepts and technologies.
- design a collection of classes and methods as the building blocks of program.
- write extensible and modifiable program using inheritance and polymorphism techniques.
- describe how exception and error handling works.
- build GUI’s and handle events generated by user interaction.
Synopsis:
The intent of the course is to teach object oriented programming using Java in a hands-on oriented course, and to equip students with concepts and skills to develop application using object oriented technologies. Course covers the fundamentals of object oriented programming language with Java. Students will learn the object oriented techniques such as encapsulation, inheritance and polymorphism, exception handling, creating and running an applet, and mostly building GUI components and handling its event.
EXAM sample – https://drive.google.com/folderview?id=12VF1XlEkH8Zou79suaapEzzZQmuYgMnx
Java ECLIPSE Tutorial
This tutorial consists of;
- Downloading and installing ECLIPSE
- Example 1: Creating Hello World for console
- Example 2: Java project using JFrame
- Example 3: Applet project
- EXAMPLE 4: Toggle Breakpoints and Debug mode
DOWNLOAD JDK: First, make sure latest JDK installed, download here (currently we have JDK1.8)
http://www.oracle.com/technetwork/java/javase/downloads/
JDK Installation is damn easy, double click the downloaded EXE file, and continue.
DOWNLOAD ECLIPSE: Should you prefer the latest version, download here –> http://www.eclipse.org/downloads/eclipse-packages/
choose either 32bit or 64bit suitable to you Windows version. The current Eclipse version is codenamed NEON, as the writing of this tutorial.
Copy the downloaded zip file to you harddisk. Right click and extract here.
Locate the eclipse folder, and double-click eclipse.exe to run the application.
EXAMPLE 1: Creating Hello World project for console
Go to menu; File->New-> Java project.
Provide the project name. Click FINISH button.
Open the project navigation, locate SRC folder.
Right-click –> New –> Class.
Provide the package name. Use the reverse domain as suggested in Java convention.
Provide the class name which start with capital letter.
Choose to have the main method. And hit FINISH…
Write the Java code, example System.out.println(“Hello World”);. Save and hit the RUN button. You’ll see the output in the console below.
EXAMPLE 2: Project with JFrame
Create a project, and a class as similar to EXAMPLE 1. Write your code containing the JFrame API (or copy & paste codes below). Hit RUN, and the output of the program will be displayed in Window.
Code sample with JFrame
<span data-blogger-escaped-face="Courier New">package net.kerul.hello;</span> <span data-blogger-escaped-face="Courier New">import javax.swing.*;//the JFrame class resides here import java.awt.*; import java.awt.event.*;</span> <span data-blogger-escaped-face="Courier New">//JFrame superclass//FrameButang subclass class Hello extends JFrame implements ActionListener{</span> <span data-blogger-escaped-face="Courier New">    private JButton btnMerah, btnBiru;//declare buttons ***** //constructor public Hello() { //buttons btnMerah=new JButton("Merah"); btnMerah.addActionListener(this); //biru ***** btnBiru=new JButton("Biru"); btnBiru.addActionListener(this);</span> <span data-blogger-escaped-face="Courier New">        Container p1 = getContentPane(); p1.setLayout(new FlowLayout()); p1.setBackground(Color.white); //draw GUIs p1.add(btnMerah); p1.add(btnBiru);//btn biru ***** }//end FrameButang</span> <span data-blogger-escaped-face="Courier New">    public static void main(String [] args) { //initiate jframe Hello frame = new Hello(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setTitle("Kerul: HELLO");//window title frame.setSize(400, 300);//widthXheight frame.setVisible(true);//show window }//end main</span> <span data-blogger-escaped-face="Courier New">    public void actionPerformed(ActionEvent e){ Container p1 = getContentPane();</span> <span data-blogger-escaped-face="Courier New">        if (e.getActionCommand().equals("Merah")) //button Merah clicked p1.setBackground(Color.red); else if (e.getActionCommand().equals("Biru")) //button Biru clicked p1.setBackground(Color.blue); }//end actionPerformed</span> <span data-blogger-escaped-face="Courier New">}//end class</span>EXAMPLE 3: Applet with image and audio
You may download the code sample here – https://drive.google.com/drive/folders/0B5_Hw_xzXWcXdWtscU12RkFheWc?usp=sharing
To start an applet, similarly create a project and class as in EXAMPLE 1.
Copy and paste the image and audio files to the Java project in Eclipse.
To run the applet in the AppletViewer, go to Run Configurations.
The dimensions of the output Applet can be changed here –> Parameters. Hit Run…
And you’ll have your applet. All the best…
Applet code sample
<span style="font-size: small;" data-blogger-escaped-face="Courier New">package net.kerul.rabitah;</span> <span style="font-size: small;" data-blogger-escaped-face="Courier New">import java.applet.*; import java.awt.*; import java.awt.event.*;</span> <span style="font-size: small;" data-blogger-escaped-face="Courier New">//simple applet example with image and audio (wav) //by KERUL.net</span> <span style="font-size: small;" data-blogger-escaped-face="Courier New">public class Rabitah extends Applet implements ActionListener{ Image rabitah; Button play,stop; AudioClip audioClip; public void init(){ //image handling rabitah=getImage(getCodeBase(),"rabitah800x500.jpg"); //audio handling play = new Button("  Play in Loop  "); add(play); play.addActionListener(this); stop = new Button("  Stop  "); add(stop); stop.addActionListener(this); audioClip = getAudioClip(getCodeBase(), "rabitah.wav"); }//end init public void paint (Graphics g){ g.drawImage(rabitah, 0, 0, 800, 500, this);</span> }//end paint public void actionPerformed(ActionEvent ae){ Button source = (Button)ae.getSource(); if (source.getLabel() == "  Play in Loop  "){ audioClip.play(); } else if(source.getLabel() == "  Stop  "){ audioClip.stop(); } }//end actionPerformed }//end class
EXAMPLE 4: Toggle Breakpoints and Debug mode
Right-click on the project Java file, choose Debug As option.
You may apply the Togle Breakpoint at the code’s line number. Watch the variables values, changing value are in yellow.
Code sample for debugging
<span style="font-size: small;" data-blogger-escaped-face="Courier New">package net.kerul.tb;</span> <span style="font-size: small;" data-blogger-escaped-face="Courier New">import java.io.*; public class TB {</span> <span style="font-size: small;" data-blogger-escaped-face="Courier New">    public static void main(String args[]) throws IOException { DataInputStream io=new DataInputStream(System.in); //List of 15 numbers //int numbers[] = new int[10]; int numbers[]={11,12,13,14,15,16,17,18,19,10,21,22,23,24,25};</span> //Int of smallest and largest numbers int smallest = numbers[0]; int largest = numbers[0]; <span style="font-size: small;" data-blogger-escaped-face="Courier New">        for (int i=0; i<numbers.length; i++){ //System.out.println("Input number "+(i+1)); //numbers[i]=Integer.parseInt(io.readLine());</span> <span style="font-size: small;" data-blogger-escaped-face="Courier New">            if(numbers[i] > largest) largest = numbers[i];</span> <span style="font-size: small;" data-blogger-escaped-face="Courier New">            if (numbers[i]  < smallest) smallest = numbers[i]; }</span> <span style="font-size: small;" data-blogger-escaped-face="Courier New">        System.out.println("Largest numbers is:"+ largest); System.out.println("Smallest numbers is:"+ smallest);</span> <span style="font-size: small;" data-blogger-escaped-face="Courier New">    }//end main }//end class</span>
Example Lab3 Encapsulation
package kerul.circle;
<div data-blogger-escaped-style="font-size: 14px;"> // complete code sample ENCAPSULATION // https://pastebin.com/XFX9Rvj5 //another class class Circle{ private double radius, area;//attribute Circle(double x){ radius=x; } //method public void getArea(){ area = radius * radius * 3.142; System.out.println("Radius: "+radius); System.out.println("Area: "+area); } }//end Circle public class TestCircle { public static void main(String[] args) { System.out.println("Welcome"); Circle c1= new Circle(7);//create object //c1.radius=7; //c1.area=8; c1.getArea(); //System.out.println("Area="+c1.getArea()); }//end main }//end TestCircle