OOP 三大特征
封装:你办事,我放心。我不知道你内部如何运作。
类是属性和方法的集合,封装就是对外暴露可操作的属性和方法,隐藏其他实现细节。属性描述同一类事物的特征,方法描述同一类事物的操作。例如:下面 Animal 类,对外暴露可读写的 name/age/totalNum 成员属性和可调用的 eat()/sleep()/say()成员方法。后面还有一些例子中 private 属性和方法,是不对外暴露的隐藏属性和方法。
抽象类含有未实现的抽象方法,等待子类去实现,所以不能实例化。例如:抽象类 Animal 含有未实现的抽象方法 say(),。
静态属性和静态方法是类所有,并不是每个对象所有,是全局性的属性和方法。例如:静态成员变量 totalNum 是类所有,记录已实例化动物总数。
(温馨提示:左右滑动可查看全部代码)
//抽象类
测试用例:
(温馨提示:左右滑动可查看全部代码)
// let animal: Animal = new Animal(“Error”,10);//编译报错:无法创建抽象类。
继承:龙生龙,凤生凤,老鼠的儿子会打洞
子类继承了父类所有的属性和方法,并可以拥有自己新的属性和方法。继承解决了代码重用的问题。例如:Dog 类继承了 Animal 类,拥有了 Animal 类所有的属性和方法 name//age/sleep()/eat() /say()。并且可以覆盖和扩展,eat() /say()覆盖了父类的方法实现, wagtail()是扩展出父类没有的新方法。
private/protected/public 关键字,限定了对外可见范围。private 只能在类内部访问;protected 只能在类和子类内部访问;默认 public,在类内部外部都能访问。
(温馨提示:左右滑动可查看全部代码)
测试用例:
(温馨提示:左右滑动可查看全部代码)
本转载自 Think 体验设计公众号。
原文链接:https://mp.weixin.qq.com/s/CXaasAzRMk3mD_waWv8DHQ
评论