Day10 面向对象的三大特性

Day10 面向对象的三大特性

第一节:封装

尽可能的隐藏类的内部实现细节,修改属性的修改和访问权限。

把赋值过滤的语句存放在指定的类的内部方法里。

1.1实现封装

1.属性修饰符修改为  private//私有
2.private修饰的私有属性,提供公开的访问方法  set(赋值)/get(取值)
	
	class Dog{
		private String breed;
		private String sex;
		//公共的访问方法
		public void setBreed(String breed){
			this.breed = breed;
		}
		public String getBreed(){
			return this.breed;
		}
		public void setSex(String sex){//可以在赋值之前加控制,且控制只在该类能看到
			this.sex = sex;
		}
		public String getSex(){//取值,直接返回当前私有的属性的值
			return this.sex;
		}
	}

第二节:继承

程序中的继承,是类与类之间特征和行为的一种赠与或获得

两个类之间的继承关系,必须满足 is a的关系

功能越精细,重合点越多,越贴近直接父类

功能越粗略,重合点越少,越贴近object类(万物皆对象的概念)

在实际应用过程中,可根据程序需要使用到的多个具体的类,进行共性抽取,进而定义父类。

在一组相同或类似的类中,抽取出共性的特征和行为,定义在父类中,实现重用

继承语法

class 类名 extends 父类{}//定义子类时,显示继承父类
应用:产生继承关系后,子类可以使用父类中的属性和方法,也可定义子类独有的属性和方法。
既能提高代码的复用性,又提高代码的可扩展性。

继承的特点:

java当中为单继承,一个类只能有一个直接父类,但是可以多级继承,属性和方法逐级叠加(越来越多)

不可以继承的:

构造方法:类中的构造方法,只负责创建本类对象,不可继承

private修饰的属性和方法:仅在本来中可见。

父子类不在同一个package中时,default修饰的属性和方法:仅同包可见

Day10 面向对象的三大特性_第1张图片

请简单回答java当中访问修饰符?

有四个

private 在本类当中可以使用,其他情况下均访问不到

default 在本类以及同包下,可以使用。非同包子类以及其他情况下,均访问不到

protected 在本类、同包、非同包子类可以使用,其他情况均访问不到

public 权限最大。本类、同包、非通报子类、其他均可以使用。

第三节:方法的重写

当父类定义的方法无法满足子类需求时,子类可以定义与父类完全相同的方法,完成覆盖,从而实现自己特定的功能。

覆盖的原则:

方法名称、参数列表(个数、顺序、类型)、方法的返回值类型要与父类完全一致

方法的访问修饰符要么和父类一样,要么比父类更宽泛,private例外!

功能。

覆盖的原则:

方法名称、参数列表(个数、顺序、类型)、方法的返回值类型要与父类完全一致

方法的访问修饰符要么和父类一样,要么比父类更宽泛,private例外!

你可能感兴趣的:(JavaSE基础内容)