1.可以改变内部实现,除了该类的方法外,不会影响其他代码。
private String firstName;
private String lastName;
public String getName(){
return firstName + "" + lastName;
}
2.setter方法可以执行错误检查,比如检查数据是否合乎规范,输入的age是否小于0,直接对域操作则没这种优势
3.可细微划分访问控制:可以只设置域访问器getter,不设置域修改器setter,让用户只能读取,而不能修改。而public既可以读取,也可以修改,可能造成数据不安全。
是一种类的层次模型,从现有的类中通过extends关键字派生新类,现有的类称为父类,新类称为子类。 子类可以从它的父类那里继承方法和实例变量,并且可以重写父类的方法和增加新的方法。一般将通用的方法放到超类中,具有特殊用途的方法放到子类中。 特点:
例子
Animal animal = new Cat(); //表示我定义了一个Animal类型的引用,指向新建的Cat类型的对象
或者
Cat cat = new Cat();
如果我要改为子类Dog类,那么前者只需要修改一行代码,不需要改实例名,后者要大量改动。
Animal animal = new Dog();
当用户使用你框架的时候,他就可以用多态,实现自己的数据库连接功能: DaoBaseDao dao = new SQLServerDao(); //针对SQLServer的接口实现,这里dao就是多态 dao.connect();
但注意:父类类型的引用可以调用父类中定义的所有属性和方法,而对于子类中定义而父类中没有的方法,它是无可奈何的;比如子类中增加的方法,父类引用无法调用。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。