單身狗程式員的春天來了,讓我們new一個女朋友吧
所用到的知識:
- 物件的創建
- 物件的三大特性,封裝、繼承與多型
- 物件的裝箱與拆箱
- 函式的創建與呼叫
- 無參構造和有參構造
get和set方法- 方法的覆寫
博主入坑Java差不多兩周多了,感慨身邊一個個的單身狗(心中暗喜,還好博主有了女朋友,嘻嘻),最近剛學了物件的三大特性,想到程式員大多都是單身,心想為何不用物件的思想來new一個女朋友呢,因此,博主躍躍欲試,成功new出了一個女朋友,所以,單身狗們你們的春天來了,讓我們new一個女朋友吧!O(∩_∩)O
1.創建一個女朋友的類
首先創建一個女朋友物件,屬性就是長相,身高,體重,名字什么的啦,方法一定要會生孩子,一個沒有孩子的家庭是沒有歡樂的,俗話說七年之癢,孩子就是婚姻的潤滑劑(有點說多了),當然,最后還要有一個一家人幸福在一起的方法,Happiness…,代碼如下;
class Girlfriend {
private String name;
private double height;
private double weight;
private String appearance;
/**
* 生成有參構造和無參構造
*/
public Girlfriend() {
}
public Girlfriend(String name, double height, double weight, String appearance) {
this.name = name;
this.height = height;
this.weight = weight;
this.appearance = appearance;
}
/**
* 生成get,set方法
* @return
*/
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public double getHeight() {
return height;
}
public void setHeight(double height) {
this.height = height;
}
public double getWeight() {
return weight;
}
public void setWeight(double weight) {
this.weight = weight;
}
public String getAppearance() {
return appearance;
}
public void setAppearance(String appearance) {
this.appearance = appearance;
}
/**
* 生孩子的方法
* @return 回傳一個baby(生男,生女不知道)
*/
public Child bornChild() {
Child baby;
int b = (int) (Math.random() * 2); //生成亂數,如果是1就是男孩,如果是0就是女孩,
if (b == 1) {
baby = new Boy();
} else {
baby = new Girl();
}
return baby;
}
/**
* 一家人幸福地在一起
* @param child 生的孩子
*/
public void happiness(Child child) {
System.out.println("我和我的老婆" + this.name + ",還有我的孩子" + child.getName() + ",幸福地生活在一起");
}
}
孩子由亂數生成,如果是1就是男孩,如果是0就是女孩,回傳一個child,將孩子進行裝箱,當然一定要有一個Child的父類,和Boy和Girl的子類,接下來創建父子類,
2.創建Child父類和Boy,Girl子類
一個孩子必須要有一個名字,但是,在生孩子之前并不知道這個孩子是男孩還是女孩,如果是男孩就叫小明,如果是女孩就叫小花(感覺有點low啊,不過以后我的真實孩子的名字一定要即響亮又文雅,齊德龍東強除外),父類創造playFun的方法,以便于子類進行方法覆寫,子類繼承set,get方法可以對繼承的父類name屬性進行賦值,
class Child {
private String name;
/**
* 父類有參構造和無參構造
*/
public Child() {
}
public Child(String name) {
this.name = name;
}
/**
* get,set方法必須有,方便子類呼叫
* @return
*/
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
/**
* 玩耍的方法,以便于子類進行覆寫,
*/
public void playFun() {
System.out.println("我喜歡和爸爸一起玩...");
}
}
class Boy extends Child {
public Boy() {
}
/**
* 呼叫父類進行子類有參構造
* @param name 孩子的名字
*/
public Boy(String name) {
super(name);
}
/**
* 子類對父類的方法進行覆寫
*/
public void playFun() {
System.out.println(this.getName() + "喜歡和爸爸一起玩奧特曼");
}
}
class Girl extends Child {
public Girl() {
}
/**
* 呼叫父類進行子類有參構造
* @param name 孩子的名字
*/
public Girl(String name) {
super(name);
}
/**
* 子類對父類的方法進行覆寫
*/
public void playFun() {
System.out.println(this.getName() + "喜歡和爸爸一起玩芭比娃娃");
}
}
既然,女朋友類和孩子類已創建完成,那么,爸爸就要上場了,讓我們一起開始new女朋友和造猴子吧,
3.new一個女朋友物件,一起生猴子,然后過上沒羞沒臊的幸福生活
不知道你們喜歡什么樣的女朋友,反正我的要求不高,我就喜歡長得高,身材好,又特別漂亮似神仙的叫小芳的女孩,女朋友找到了,然后就可以生小猴子了,生之前我們不知道是男孩還是女孩,因此生孩子回傳值就用Child的變數來接收,但是,男孩女孩上衛生間不一樣,就要對男孩女孩進行拆箱,然后采用函式的呼叫,男孩上男衛生間,女孩上女衛生間,最后,我們一家人幸福地生活在了一起,
/**
* @Description: new一個女朋友,和女朋友一起生了一個孩子,最后一家人幸福地生活在了一起,
* @Author: victor
* @Date: 2020/9/18 17:28
*/
public class GenerateGirlfriend {
public static void main(String[] args) {
//new一個女朋友
Girlfriend girlfriend = new Girlfriend();
girlfriend.setName("小芳");
girlfriend.setHeight(175);
girlfriend.setWeight(50);
girlfriend.setAppearance("very beautiful");
/*
* 不知道女朋友生的孩子是男孩還是女孩,因此用父類物件來接收,將baby物件進行裝箱
*/
Child myChild = girlfriend.bornChild();
if (myChild instanceof Boy) {
myChild.setName("小明"); //如果是男孩,就叫小明
} else {
myChild.setName("小花"); //如果是女孩,就叫小花
}
myChild.playFun();
/*
* 因為男孩女孩上衛生間不同,就要對baby進行拆箱,男孩就上男衛生間,女孩就上女衛生間
*/
if (myChild instanceof Boy) { //拆箱:男孩上男衛生間,女孩上女衛生間,
Boy myBoy = (Boy) myChild;
boyBathroom(myBoy);
} else {
Girl myGirl = (Girl) myChild;
girlBathroom(myGirl);
}
girlfriend.happiness(myChild); //最后一家人幸福地生活在一起,
}
/**
* 男孩上男衛生間
* @param myBoy 傳入一個男孩的物件
*/
public static void boyBathroom(Boy myBoy) {
System.out.println(myBoy.getName() + "正在上男衛生間...");
}
/**
* 女孩上女衛生間
* @param myGirl 傳入一個女孩的物件
*/
public static void girlBathroom(Girl myGirl) {
System.out.println(myGirl.getName() + "正在上女衛生間...");
}
}
本人能力有限,而且剛接觸物件,因此,文章中會有不足之處,歡迎各位大佬進行批評與指正,以后,隨著博主的不斷學習,會加以完善,歡迎大家點贊,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/82593.html
標籤:AI
下一篇:最通俗易懂的ssm框架整合講解
