关于面向对象和数据库的一些理解
数据库 三大范式
1.强调原子性 个体必须不能再拆分 列不能再分
2.满足1 有且只有一个爸爸 必须有一个主键 非主键必须完全依赖主键
3.满足2 只有儿子关系,没有爷孙关系 非主键列必须直接依赖主键
四大特性:
1.原子性 不成功便成仁 所有操作要么全部成功要么全部失败回滚
2.一致性 要么跪着要么站着 不存在中间状态 只能从一致性状态到另一个一致性状态
3.隔离性 联系前两种 公交车中途不停车 只有前一个事务完成,下一个事务才能开始
4.持久性 一旦操作完成就不能再反悔
面向对象:
找一个类对象替你做面向过程的事
面向对象好处:
面向对象就像盖饭,上面的菜想换可以换
面向过程就像炒饭,混着炒的,指脸挑出来??
1.封装 让你玩的你才能玩 保护成员属性,不让类以外的程序直接访问和修改;
2.继承 儿子有老子的一切 还能直接改动
3.多态 一个对象 在爹和一堆儿子手里有多种状态
方法重载: 参数列表不同
简单地说:方法重载就是类的同一种功能的多种实现方式,到底采用哪种方式,取决于调用者给出的参数。方法重载后,对于一个方法,参数数量不同有不同处理方法。
就是重载后,一个名字的方法有很多,这些方法参数不一样,调用者给几个参数用对应的方法
方法覆盖:儿子照搬了爹的东西
方法覆盖的注意事项:
(1)子类的方法的返回类型,参数,方法名称,要和父类方法的返回类型,参数,方法名称完全一样,否则编译出错。
(2)子类方法不能缩小父类方法的访问权限。(假设父类方法时public,但是你的子类方法改成了protected,这样就会出现报错)
1.封装:
封装就是把抽象的数据和对数据进行的操作封装在一起,数据被保存在内部,程序的其他部分只有通过被授权的操作(成员方法)才能对数据进行操作。
2.继承:
非静态属性和方法可以被继承和重写。但是静态属性和方法可以被继承,但是没有被重写(overwrite)而是被隐藏,即调用的都是父类的属性和方法。
3.多态:
多态的定义:指允许不同类的对象对同一消息做出响应。即同一消息可以根据发送对象的不同而采用多种不同的行为方式。(发送消息就是函数调用)
菜鸡新手,马上要进行考核了,于是自己梳理了一点东西,欢迎大佬指错ヾ(✿゚▽゚)ノ