您的位置:首页 > 编程语言 > Java开发

【Java基础笔记】面向对象基础

2017-03-05 19:48 435 查看
面向对象三要素:封装继承多态

封装

原则:将不需要对外提供的成员变量隐藏起来,把属性都表示为私有的,提供其公共的方法对其访问

意义:明确标识出允许外部使用的所有成员函数和数据项,或者叫接口。

public class Student {
private String name,sex;  //成员变量为私有,外部只能通过set设置,get方法访问。
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public static void main(String[] args) {
Student student = new Student();
student.setName("小明");
}

}


继承

继承基类(父类)的方法,并做出扩展。

声明某个子类兼容于某基类(或者说,接口上完全兼容于基类),外部调用者可无需关注其差别(内部机制会自动把请求派发到合适的逻辑)。

class Person{
private String name,sex, age;
public void read(){
System.out.println("读书使我快乐!");
}
public void write(){
System.out.println("写字使我快乐!");
}
}
public class Student extends Person{ //Student类(子类)继承Person类(父类),java不支持多继承
private String name,sex;
public void read(){
super.read();  //调用父类方法
System.out.println("读书真痛苦!");   //父类方法上进行扩充
}
public static void main(String[] args) {
Student student = new Student();
//输出:写字使我快乐!
student.write();
//输出:
//读书使我快乐!
//读书真痛苦!
student.read();
}
}


多态

基于对象所属类的不同,外部对同一个方法的调用,实际执行的逻辑不同。很显然,多态实际上是依附于继承的第二种含义的。借助多态原理,可以实现控制反转(spring框架核心),减轻程序耦合度。

public interface Person{
public void read();
}
public class Student implements Person{
public void read(){
//Student-code
}
}
public class Teacher implements Person{
public void read() {
//Teacher-code自己实现方法
}
}


资料来源
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java 面向对象 继承