java面向对象中抽象类的使用方法

       当客户分配了一个实际项目,而我们又不能立马把它分析的想当透彻,但可以把这个事情用简单的语言大概描述出来,也就是抽象成一个画面。我们学习了java中面向对象有继承的关系,可以把具体事情继承到抽象的这个画面上,这样不但方便完成客户的要求,还能锻炼面向对象的思想,最重要的是还能防止程序员因为马虎遗漏事先抽象好的成员函数。

       可这种抽象思想怎么运用呢?怎么使用抽象类呢?下面用一个简易示例讲述一下:

       有一句话:客户让一个学生去北京学习。

       拿这句话为例,我们可以看出其实就是“一个学生去北京学习”,好,下面用代码说明问题。

1、首先这句话中有一个学生,学生是一个人,所以要先定义一个Person类,而且这个类肯定是抽象的,所以定义成抽象类,代码如下:

Person.java

  1. abstract class Person {  
  2.     String name;  
  3.     int age;  
  4.     Person(String name,int age){  
  5.         this.name=name;  
  6.         this.age=age;  
  7.     }  
  8.     abstract void study();  
  9. }  

2、然后到学生了,学生除了有Person的属性外还有学生特有的属性,比如学生地址address,这句话还说明了学生的行为,所以也要定义一个比如study的成员方法,代码如下:

Student.java

  1. class Student extends Person{  
  2.     String address;  
  3.     Student(String name,int age,String address){  
  4.         super(name,age);  
  5.         this.address=address;  
  6.     }  
  7.     @Override  
  8.     void study() {  
  9.         System.out.println(name+"要去("+address+")学习");  
  10.     }  
  11. }  

3、最后客户的这句话就用程序完成了,是不是感觉抽象类很有用,假如不单有学生,还有工人、明星、记者等,只需在这个抽象类的基础上增加相应的同能,而且同时可以防止黑客去直接访问抽象类,因为抽象类不可以生成对象。还能防止因为自己的马虎造成遗漏代码。所以现在你可以测试一下,代码及结果如图:

class Test{
	public static void main(String args[]){
		Person p=new Student("张三",20,"北京");
		p.study();
	}
}


注意事项:

       学会用抽象的面向对象思想解决问题,是作为程序员一个良好的习惯。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值