面向对象的特征

 

主要有三个特征:封装、继承、多态

 封装

体现形式---方法,属性私有化并且提供公共的访问方式来进行正常取值和赋值,提高代码数据安全性。 

packagecn.tedu.fengzhuang;


publicclassFZDemo{

publicstaticvoidmain(String[]args){

//创建代表人的类的对象

Personp=newPerson();

//给对象属性赋值

//p.name="豆豆";

//调用方法间接给私有化属性进行赋值

p.setAge(-10);

//p.gender='男';

//调用方法间接给私有化属性进行取值

//System.out.println(p.name+","+p.getAge()+","+p.gender);

}

}

//代表人的类

classPerson{

//属性

privateStringname;

//私有化属性,只能在本类中直接使用

privateintage;

privatechargender;

 
//Alt+Insert---Generate---GetterandSetter

//java自动提供

publicStringgetName(){

returnname;

}

 
publicvoidsetName(Stringname){

this.name=name;

}

 

publicintgetAge(){

returnage;

}

 

publicvoidsetAge(intage){

this.age=age;

}

 

publicchargetGender(){

returngender;

}

 

publicvoidsetGender(chargender){

this.gender=gender;

}

  

/*//定义方法间接的给私有化属性进行赋值

publicvoidsetAge(intage){

if(age<0){

System.out.println("数据有误!!!");

}else{

this.age=age;

}

}

 

//定义方法间接的给私有化属性进行取值

publicintgetAge(){

returnage;

}*/

  

/*//有参构造

publicPerson(intage){

if(age<0){

System.out.println("数据有误!!!");

}else{

this.age=age;

}

}*/

}

 

继承

如果多个类的内容出现重复,把重复的内容放到一个新的类中,通过extends关键字让原来的类和新的类产生关联关系---继承。原来的类是子类,新的类是父类。子类可以继承父类部分信息(父类的私有化信息、构造方法以及构造代码块不能被继承)。

package cn.tedu.extendsx;

public class Extends Demo1{

public static void main(String[]args){

//创建子类对象---医生类对象

Doctor d=new Doctor();

d.treat();

}

}
 

//定义医疗人员类

//基类、超类、父类

class医疗人员{

//属性

String name;

int age;

char gender;

//科室

String dept;

 

//方法

public void treat(){

System.out.println(name+"在治病救人...");

}

}

//定义代表医生的类

//通过extends关键字让两个类之间产生关联关系----继承

//派生类、子类

class Doctor extends医疗人员{

public void treat(){

System.out.println(name+"拿着手术刀在治病救人...");

}

}

 

//代表护士的类

class Nurse extends 医疗人员{

 

}

 

多态

代码执行过程中呈现的多种形式

java分为编译时期、运行时期

编译时多态---在编译时期绑定代码  体现形式---重载

public void m(){..}

public void m(int i){…}

运行时多态---在运行时期绑定代码  体现形式---重写、向上造型(继承)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值