继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

《Java从入门到放弃》JavaSE入门篇:面向对象语法一(入门版)

2019-12-19 15:19:09832浏览

十方上下

1实战 · 16手记 · 5推荐
TA的实战

前一次简单说明了一下面向对象编程的概念,今天我们就把这些概念通过Java语法来实现,然后看看效果。

来看第一个案例:定义女神类,再根据女神类创建三个女神对象,并使用女神对象的属性和方法。

第一步:定义女神类(因为Java本身没有这个类型,所以我们自己创建这个类型)

/**
 * 女神类
 */
public class Goddess {
    public String name;	//姓名
    public int age;		//年龄
    public double stature;	//身高
	
    /**
    * 自我介绍方法
    */
    public void show(){
        System.out.println("我叫"+name+",今年"+age+"岁,身高为"+stature);
    }
}

第二步:创建包含main方法的Test类(main方法相当于程序运行的起始点)

public class Test {
    public static void main(String[] args) {

    }
}

第三步:在main方法创建三个女神类的对象(因构造方法等还没学习,所以使用最基本的语法)

public class Test {
    public static void main(String[] args) {
        //创建三个女神类型的对象
        Goddess lin = new Goddess();
        Goddess chang = new Goddess();
        Goddess jia = new Goddess();
        
        //使用对象的属性
        lin.name = "林志玲";
        lin.age = 43;
        lin.stature = 1.73;
        chang.name = "苍井空";
        chang.age = 34;
        chang.stature = 1.55;
        jia.name = "贾玲";
        jia.age = 35;
        jia.stature = 1.66;
		
        //调用对象的方法
        lin.show();
        chang.show();
        jia.show();
    }
}

看语法是不是很简单!!!如果不使用面向对象的方式,那我们name要定义三个变量,age或定义三个变量,stature也要三个变量,一共要九个变量,而现在只需要三个Goddess类型的变量就解决问题了,而且属性都是同名的,也方便记忆和使用。


现在又有新的需求出现!!!


以前所有的都是女神,现在需要再细分为御姐和萌妹!(声明:作者不知道这些是什么意思,都是通过网络查询才知道的,作者君是单纯的!!!)

然后和女神平级的还有女汉子,女汉子又分为学霸和屌丝!

女神和女汉子都是女人!!!

wKioL1muTwewewmDAAIJpA8VcBA875.png


最后最后最后,根据现在变化的需求,我们还要考虑到,以后会不会有更多种类的女神出现?比如女王等,还会不会和女神平级的“恐龙”出现?

这些都是有可能的吧,所以我们就考虑把代码做如下修改(用到继承):

wKiom1muUV7B6j_CAAA2Mh3Ipms158.png

女性:

    属性:姓名,年龄,身高

    方法:自我介绍()

女神:具有女性的所有行为(方法)和特征(属性)

    特有属性:颜值

女汉子:具有女性的所有行为(方法)和特征(属性)

    特有属性:霸气值

    特有方法:狂化()

御姐:具有女神的所有行为(方法)和特征(属性)

    特有属性:性感值

萌妹:具有女神的所有行为(方法)和特征(属性)

    特有方法:卖萌()

学霸:具有女汉子的所有行为(方法)和特征(属性)

    特有属性:悟性

    特有方法:打击学渣()

屌丝:具有女汉子的所有行为(方法)和特征(属性)

    特有方法:抠脚()


我来写女性、女神和女汉子的代码,剩下的代码相信各位看官能够自己实现了吧。

/**
 * 女性类
 *
 */
public class Woman {
    public String name;		//姓名
    public int age;			//年龄
    public double stature;	//身高

    /**
     * 自我介绍方法
     */
    public void show(){
    	System.out.println("我叫"+name+",今年"+age+"岁,身高为"+stature+"米.");
    }
}
/////////////////////////////////////////////////////
/**
 * 女神类
 * 继承了Woman类
 */
public class Goddess extends Woman {
	public int faceValue;		//颜值
}
/////////////////////////////////////////////////////
/**
 * 女汉子类
 * 继承了女性类
 *
 */
public class GirlMan extends Woman {
    public int domineeringValue;	//霸气值
	
    public void berserker(){
        System.out.println("霸气值已充满,开始狂化中···");
    }
}

三个类定义好了,其中女神和女汉子类使用extends关键字继承了女性类。继承后,女神和女汉子就可以使用女性类中定义的属性和方法了。

编写测试类代码:

public class Test {
    public static void main(String[] args) {
        //创建三个女神类型的对象
        Goddess lin = new Goddess();	//女神对象
        GirlMan jia = new GirlMan();	//女汉子对象
		
        //使用对象的属性
        lin.name = "林志玲";
        lin.age = 43;
        lin.stature = 1.73;
        lin.faceValue = 99;		//颜值 
        jia.name = "贾玲";
        jia.age = 35;
        jia.stature = 1.66;
        jia.domineeringValue = 95;	//霸气值
		
        //调用对象的方法
        lin.show();	//调用父类(女性类)的方法
        jia.show();		
        jia.berserker();//调用自已特有的方法
    }
}

运行结果:

wKiom1muaJLyWQa4AAAmw2irQC8560.png

至于封装和多态,我们留到下一篇再来介绍吧。j_0028.gif


打开App,阅读手记
1人推荐
发表评论
随时随地看视频慕课网APP