文章列表
今天说说封装
首先咱们搞清楚什么叫封装,继续理解字面意思 就是封锁包装的意思呀。
我们既然把现实的物体以抽象的概念转换成代码,那么就产生了一个问题,物体是有局限性的,比如一个足球,它的组成有皮革与内胆,因为这是一个整体 所以我们不能把球胆或皮革单拿出来用 ,那么我们的抽象出的类是不是也要有个限定?类中的元素是不是也要一个呢? 当然要,所以我们有了public ,priveate ,protected,缺省。
如果不用修饰符
class Leather{
void show(){
System.out.println("皮革");
}
}
cl ...
上次的接口说的还不够明显 作用不突出先看几个类
public interface Cup {//将水杯归结成接口这样 具体的实现有实现类完成
String character="plastic";//质地 塑料
String size="10";
void holdWater();//盛水
void pourAwayTheWater();//倒水
public void coverTheLidCup(Cap cap);//接口继承接口
}
public interface Cap {//将杯盖化作接口并规定大小 其他的细节由实现类类描述
...
我最爱接口了,初学时不明白接口到底是做什么的,其实接口就是约定就是规范,就是抽象类的极端表现。
好比两个零件有共同的接口才能对接,例如我们的杯子 若是个有盖子的杯子 ,那么盖子的槽多高才能适合杯子?盖子的口径多大才能与杯子相吻合?好吧接口出现吧!~
接口永远都是公开的不要想着去私有化它,而用图最明显的就是解耦。
public interface CupInterface {
void coverTheLidCup(Cap cap);//给杯子盖盖子
}
class Cup implements CupInterface{//我的杯子
String character=" ...
软件业有个名句 叫做约定大于编程 哎呀我说的也不准确
一方面因为编程从来都不是一个人的事情而每个程序员都有自己的想法都是独立的人格,这就使得我们每个团队都需要约定。
大到语法规范 小到每个接口的参数与返回值。
另一方面,假如你认为在你的Cup里有些特性是不可或缺的而他的子类 也必须拥有并且做出改变的东西。
那么你需要java中接口与抽象类
拿个杯子
abstract class Cup{
String character="plastic";
String size="10";
void holdWater(){}//盛水
void pour ...
字面理解多态就是多形态咯,反正我知道有两种方式体现多态哦就是方法的重载与重写,这些都是发生在方法身上的;
如果你搞不清的话记得
重载 :同名不同参 同样的方法名,不同的参数,无论是顺序,个数,类型总之不是一样的就是重载哦;
重写 :覆盖掉原有的 ,这个是发生在继承关系下子类方法与父类方法声明相同的情况下,就是说子类的方法与父类的方法名一样,参数列表也一样;
上个杯子
public class Cup{
String character=“plastic”;
String size=“10”;
void HoldWater(){}//盛水
void Hold ...
都提到继承啦就是父亲的东西归儿子呗。这好办java中用extends关键字作为继承的标识
所以我们用上篇的Cup作为父类来讲吧。
Cup是个很纯很纯的类,就是个杯子它太纯粹了,不适合我们的需求,我想要个方形的塑料杯,而Cup里可没形状这个东西呀,当然我们可以写个SquareCup类 例如这样
public class SquareCup{
String character(质地)=“plastic(塑料的)”;
String size(尺寸)=“10”;//这回不把它当圆的了杯直径为cm
String shape(形状)=“Square(方形)”;
void ...
如果要我说java的核心思想是什么 那么抽象一定是最重要的最核心最不可缺少的,如果你不知道抽象,天哪那你的类哪里来的??
提到类这个词,我想第一个把class翻译为类的人一定是巨擘级别的人物,类这个词按中文理解 便是一组一系列有共同特征的实物,我们将它们归为统一 即是类。
就是说我将有共同特性或行为的东西打成一包归为一类。例如 有个一个Cup(杯子)类,杯子会有几个属性
1 质地,2 大小 同时它还会有几个能力或是叫做行为 1,盛水 2 倒水。
那么我将Cup为类的时候
性质即为类的属性 :
String character(质地)=“plastic( ...