------------------------------------------------------------------------------- Class Questions:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
Tuesday, June 16, 2015
Sunday, June 14, 2015
Friday, June 12, 2015
[AP] - Lab 8 : Generics & Iterators
* Generics: là các cấu trúc dữ liệu mà cho phép bạn dùng lại các mã giống nhau cho các kiểu khác nhau giống như class, interface. Generics được sử dụng tốt nhất khi làm việc với các mảng và các tập hợp liệt kê.
* Iterators: là các khối của đoạn mã mà có thể được lặp lại thông qua các giá trị của tập hợp.
Exam:
1.
2.
Tuesday, June 9, 2015
[AP] - Lab 7: Collections
Lab7:
Class Employees
Class EmployeeManagement ArrayList
Class EmployeeManagement Hashtable
Class EmployeeManagement Dictionary
Result
Sunday, June 7, 2015
Sunday, May 31, 2015
Monday, February 9, 2015
[ADF1]: Day 4: abstract
Make a documentation of this framework by declare some variables of Actor and create some objects of GoJumpActor, JumpGoActor, asign them to the above variables and call them (mark of 4)
//Moveable interface
public interface Moveable
{
public void jump();
public void forward();
}
//Child abstract
public abstract class Child implements Moveable{
public Circle image;
public Child(){
image = new Circle();
image.makeVisible();
}
public abstract void jump();
public void forward(){
image.slowMoveHorizontal(10);
}
}
//JumpGoChild class
public class JumpGoChild extends Child{
public void jump(){
super.image.slowMoveVertical(-3);
super.forward();
}
}
//GoJumpChild class
public class GoJumpChild extends Child{
public void jump(){
super.forward();
super.image.slowMoveVertical(-3);
}
}
Make an explanation to your team about the need of this framework, also point out some of this advantages to demonstrate your awareness of the complexity of this framework (Mark of 5).
Framework trên đã làm rõ hơn khái niệm về interface và abstract:
- class Child implements interface Moveable nên nó override lại các method của Moveable.
- class Moveable là abstract class và nó có một abstract method là jump().
- class GoJumpChild và JumpGoChild là các subclass của superclass Moveable nên nó thừa kế method forward() và override lại method jump() của superclass.
Sunday, February 8, 2015
[ADF1] - Day 3: interface
Today, game is an important industrial of software, one of most important features that a game must have is the extensible capacity. As an architect, you know the meaning of “implement into interface not into implementation”, so you must:
Create an interface for actor that can do (mark of 2):
- forward()
- jump()
- blink()
public interface Action
{
public void Forward();
public void Jump();
public void Blink();
}
Create an implementation of the above interface for current version (mark of 3)
public class Actor implements Action {
private int step = 100;
private Circle face;
private Circle leftEye;
private Circle rightEye;
private Triangle mouth;
public Actor(){
//face
face = new Circle();
face.makeVisible();
face.changeSize(70);
face.moveHorizontal(107);
face.moveVertical(100);
face.changeColor("yellow");
//leftEye
leftEye = new Circle();
leftEye.makeVisible();
leftEye.changeSize(15);
leftEye.moveHorizontal(120);
leftEye.moveVertical(120);
leftEye.changeColor("black");
//rightEye
rightEye = new Circle();
rightEye.makeVisible();
rightEye.changeSize(15);
rightEye.moveHorizontal(150);
rightEye.moveVertical(120);
rightEye.changeColor("black");
//mouth
mouth = new Triangle();
mouth.makeVisible();
mouth.changeSize(8,30);
mouth.moveHorizontal(112);
mouth.moveVertical(192);
mouth.changeColor("brown");
}
public void Forward(){
face.moveHorizontal(step);
leftEye.moveHorizontal(step);
rightEye.moveHorizontal(step);
mouth.moveHorizontal(step);
}
public void Jump(){
face.moveVertical(-step/2);
leftEye.moveVertical(-step/2);
rightEye.moveVertical(-step/2);
mouth.moveVertical(-step/2);
face.moveVertical(step/2);
leftEye.moveVertical(step/2);
rightEye.moveVertical(step/2);
mouth.moveVertical(step/2);
}
public void Blink(){
for (int i = 0; i<20; i++){
leftEye.changeColor("red");
rightEye.changeColor("red");
leftEye.changeColor("black");
rightEye.changeColor("black");
}
}
}
Thực thi các phương thức trong interface chứ không phải thực thi các phương thức đó.
What is advantage or disadvantage of using interface in software development? (mark of 5)
advantage:
- Tạo ra những phương thức chung cho các class, khi sử dụng sẽ định nghĩa lại các phương thức đó --> đỡ phức tạp khi phải đặt tên cho các method có cùng tính chất trong các class khác nhau.
- Sử dụng interface trong hệ thống lớn có nhiều class sẽ làm cho code dễ hiểu hơn, khi người khác nhìn vào sẽ nắm bắt được những phương thức cơ bản trong hệ thống.
disadvantage
- Vì khi sử dụng đến method phải implements interface nên sẽ làm code chạy chậm đi.
Wednesday, February 4, 2015
[ADF1] - Day 2.2 : Method
Create methods sunRise(), sunSet() for make animation for the following scenarios
CODE:
//Sunrise
public void sunRise(int distance)
{
for (int i = 0; i < distance; i++){
sun.moveVertical(-1);
}
}
//Sunset
public void sunSet(int distance)
{
for (int i = 0; i < distance; i++){
sun.moveVertical(1);
}
}
//Sun auto Up And Down
public void sunUpDown(int loop, int range){
if (range < 0){
range = -range;
}
if (loop < 0){
loop = -loop;
}
int max = yPosition + range;
for (int i = 0; i < loop; i++)
{
if (yPosition < max)
{
for (int j = 0; j < range; j++){
yPosition += 1;
draw();
}
}
if (yPosition == max)
{
for (int j = 0; j < range; j++){
yPosition -= 1;
draw();
}
}
}
}
Describe the structure of a method:
method là thành phần thường được viết cuối cùng trong cấu trúc của class, nó là các behavior của objects tạo ra bởi class.
có hai loại method:
- accesscor method(): là method() tạo ra để lấy các giá trị của fields mà không làm thay đổi chúng.
thường thì các method() này có dạng
public field's_data_type getMethodName() //setter
{
return field;
}
- mutator method(): là method() tạo ra để thay đổi các giá trị các fields của class.
public void setMethodName(datatype x) //getter
{
field = x;
}
[ADF1] - Day 2.1 : Class
Create class of following images
/**
* Draw house with sun rise and set
*
* @author (Thiendmh)
* @version (1.0)
*/
public class Picture
{
private Triangle roof;
private Square wall;
private Square window;
private Circle sun;
public Picture(){
}
public void draw(){
wall = new Square();
wall.moveVertical(80);
wall.changeSize(100);
wall.makeVisible();
window = new Square();
window.changeColor("black");
window.moveHorizontal(20);
window.moveVertical(100);
window.makeVisible();
roof = new Triangle();
roof.changeSize(50, 140);
roof.moveHorizontal(60);
roof.moveVertical(70);
roof.makeVisible();
sun = new Circle();
sun.changeColor("yellow");
sun.moveHorizontal(180);
sun.moveVertical(-10);
sun.changeSize(60);
sun.makeVisible();
}
public void sunRise(int distance) {
for (int i = 0; i < distance; i++){
sun.moveVertical(-1);
}
}
public void sunSet(int distance) {
for (int i = 0; i < distance; i++){
sun.moveVertical(1);
}
}
}
What is structure of a class and name each components of application?(mark of 3).
/**
* Draw house with sun rise and set
*
* @author (Thiendmh)
* @version (1.0)
*/
public class Picture
{
private Triangle roof;
private Square wall;
private Square window;
private Circle sun;
public Picture(){
}
public void draw(){
wall = new Square();
wall.moveVertical(80);
wall.changeSize(100);
wall.makeVisible();
window = new Square();
window.changeColor("black");
window.moveHorizontal(20);
window.moveVertical(100);
window.makeVisible();
roof = new Triangle();
roof.changeSize(50, 140);
roof.moveHorizontal(60);
roof.moveVertical(70);
roof.makeVisible();
sun = new Circle();
sun.changeColor("yellow");
sun.moveHorizontal(180);
sun.moveVertical(-10);
sun.changeSize(60);
sun.makeVisible();
}
public void sunRise(int distance) {
for (int i = 0; i < distance; i++){
sun.moveVertical(-1);
}
}
public void sunSet(int distance) {
for (int i = 0; i < distance; i++){
sun.moveVertical(1);
}
}
}
What is structure of a class and name each components of application?(mark of 3).
Khai báo Class:
public class className()
{
data field : chứa các biến của class.
constructor() : hàm khởi tạo ban đầu của object có thể có hoặc không có tham số.
method() : các behavior của object tạo bởi class.
}
What does key word this mean?(mark of 4).
Từ khóa this trong method của một class trỏ đến object đang được gọi của class đó.
Develop your version of class Person? (mark of 5)
/**
* Person
* @author (Thiendmh)
* @version (1.0)
*/
public class Person
{
private String firstName;
private String lastName;
private int age;
private String sex;
public Person()
{
firstName = "Victor";
lastName = "Hugo";
}
public Person(int myAge, String mySex)
{
age = myAge;
sex = mySex;
}
public void showInfor(){
System.out.println("My name is :" + firstName + " " + lastName);
System.out.println("My age is :" + age);
System.out.println("I am " + sex);
}
public void pEat(String food)
{
System.out.println("Person name " + firstName +" "+ lastName + " eating "+ food);
}
public String getSex()
{
return sex;
}
public void setName(String nfirstName, String nlastName)
{
firstName = nfirstName;
lastName = nlastName;
}
}
/**
* Person
* @author (Thiendmh)
* @version (1.0)
*/
public class Person
{
private String firstName;
private String lastName;
private int age;
private String sex;
public Person()
{
firstName = "Victor";
lastName = "Hugo";
}
public Person(int myAge, String mySex)
{
age = myAge;
sex = mySex;
}
public void showInfor(){
System.out.println("My name is :" + firstName + " " + lastName);
System.out.println("My age is :" + age);
System.out.println("I am " + sex);
}
public void pEat(String food)
{
System.out.println("Person name " + firstName +" "+ lastName + " eating "+ food);
}
public String getSex()
{
return sex;
}
public void setName(String nfirstName, String nlastName)
{
firstName = nfirstName;
lastName = nlastName;
}
}
[ADF1] - Day 1: Draw picture using BlueJ's example
Add code draw RECTANGLE:
public class Rectange
{
private int xSize;
private int ySize;
private int xPosition;
private int yPosition;
private String color;
private boolean isVisible;
public Rectange()
{
xSize = 100;
ySize = 5;
xPosition = 60;
yPosition = 50;
color = "magenta";
isVisible = false;
}
public void changeSize(int new_xSize, int new_ySize)
{
erase();
xSize = new_xSize;
ySize = new_ySize;
draw();
}
private void draw()
{
if(isVisible) {
Canvas canvas = Canvas.getCanvas();
canvas.draw(this, color,
new Rectangle(xPosition, yPosition, xSize, ySize));
canvas.wait(10);
}
}
}
Add code to draw SunRiseUp: with loop pass by user
Draw house with Sun auto Rise and Up:
Subscribe to:
Posts (Atom)