java物件導向的思想的建立

2021-06-21 00:07:36 字數 3170 閱讀 7063

物件導向的思想的建立:

1.      人在黑板上畫圓,畫圓的方法屬於誰?答案:圓

首先,這裡涉及到三個對 象:person、blackground、circle,人在黑板上畫圓,不能是人去畫的圓,因為圓的圓心座標,半徑這些資料是圓這個物件所具有的屬 性,所以畫圓的方法應該屬於圓。而人只是利用圓的資料來畫的圓。也不可能是黑板,黑板只是呈現圓的乙個載體

classperson

private string name;

private int age;

classbackground

private int width;

private int height;

private color color;

classcircle

private point p;

private double radius;

public circle(point p, double radius) {

this.p = p;

this.radius = radius;

public void drawcircle(point p, double raduis){

//畫圓的方法

2.      列車剎車,剎車的方法是屬於誰的?答案:列車

分析:有train、person兩個物件,列車剎車,列車自己具備了剎車的功能,有乙個離合器和剎車,人只是作用在這上面,人踩下剎車使列車停下來,而不是不使列車停下來的,所以這個剎車的方法是屬於列車的

classperson

private string name;

private int age;

classtrain

private double speed;

private double length;

private double width;

private double height;

public void braketrain() {

//列車具有乙個剎車的方法

3.      人關門,關門的方法屬於誰?答案:門

分析:這裡涉及到person、door兩個物件,人關門,人只是退了門一下,對門用了乙個力,然後門沿著轉軸旋轉,鎖舌遇到障礙以後收回,然後在彈簧的作用下彈回到鎖盒中,從而門就這樣子關上了,所以關門的方法應該是屬於們的

classperson

private string name;

private int age;

classdoor

public void closedoor() {

4.      球從繩子的一端移動到另一端。用物件導向的思想設計類

分析:看似這兩個物件rope、ball之間並沒有什麼實際的聯絡,但是繩子可以看為是一條直線,球從一端移動到另一端,直線是由乙個個的點組成的,球移動的軌跡也是乙個個的點,從而繩子有乙個產生下乙個點的方法,球每移動到乙個點則就去詢問繩子下乙個點的座標在**

class  rope

private point start;

private point end;

public rope(point start, point end) {

this.start = start;

this.end = end;

public point nextpoint(point currentpoint) {

//通過2個點可以確定一條直線

classball

private rope rope;

private point currentpoint;

public ball(rope rope, point startpoint) {

this.rope = rope;

this.currentpoint = startpoint;

public void move() {

currentpoint =rope.nextpoint(currentpoint);

system.out.println("小球移動到了"+ currentpoint);

5.兩塊石頭磨成一把刀,石刀可以砍樹,砍成木材,木材做成椅子,用物件導向的思想設計類

分析:這裡有stone、knife、tree、material、chair

classstone

public stone() {

classknife

public knife() {

class materia

public meteria() {

classtree

public tree() {

classchair

public chair() {

classstoneknife

public stoneknife() {

public materia cuttree(tree tree) {

//砍樹

classknifefactory

private knifefactory() {

private stoneknife stoneknife;

private  static  knifefactory instance = newknifefactory();

public knifefactory getinstance() {

return instance;

public stoneknife createknife(stone one, stonetwo) {

//製作石刀

classchai***ctory

private chai***ctory(){

private meteria meteria;

private  static  chai***ctory instance = newchai***ctory();

public chai***ctory getinstance() {

return instance;

public chair makechair(meteria meteria) {

//製作椅子

總結:誰擁有資料,誰就對外提供操作這些資料的方法

使用物件導向的方法來設計我們的程式,可以大大的簡化我們的**,並且使我們的思路的更為清晰

Java物件導向的思想

通常認為封裝是把資料和運算元據的方法繫結起來,對資料的訪問只能通過已定義的介面.物件導向的本質就是將現實世界描繪成一系列完全自治的 封閉的物件.我們在類中編寫的方法就是對實現細節的一種封裝,我們編寫乙個類就是對資料和資料操作的一種封裝,可以說,封裝就是隱藏一切可隱藏的東西,只向外界提供最簡單的程式設...

java物件導向思想

物件導向設計把握乙個重要的經驗 誰擁有資料,誰就對外提供操作這些資料的方法。再牢牢掌握幾個典型的案例就可以了,人在黑板上畫圓,列車司機緊急剎車,售貨員統計收穫小票的金額,你把門關上了等。兩個物件導向的測試題 兩塊石頭磨成一把石刀,石刀可以砍樹,砍成木材,木材做成椅子。球從一根繩子的一端移向另一端。人...

java物件導向思想

一 封裝 封裝是保證軟體部件具有優良的模組性的基礎,封裝的目標就是要實現軟體部件的 高內聚 低耦合 防止程式相互依賴性而帶來的變動影響。在物件導向的程式語言中,物件是封裝的最基本單位,物件導向的封裝比傳統語言的封裝更為清晰 更為有力。物件導向的封裝就是把描述乙個物件的屬性和行為的 封裝在乙個 模組 ...