最近忙于面试,一次又一次的面试也是在一次次的成长,所掌握的东西也一点点增加。这篇文章整理一些基础知识。
面向对象之三重奥义
1.重载
重载是指在同一作用域内,可以有一组相同的方法名,它们有不同的参数列表,这组方法成为重载方法。
重载可以减少函数名的数量,让代码看起来更加简洁。
2.重写(override)
比如基类定义了一个虚方法或抽象方法,子类通过override重写来实现父类的方法。
3.重构
在不改变程序原有功能的基础上,调整程序代码,使其更符合面向对象开发原则,提高软件性能和其他方面性能。
JavaScript是解释性语言,常用对象有:
1,string对象
2,Math对象
3,Date对象
4,window对象
5,document对象
抽象类与接口的区别:
1, 派生类只能继承一个类,包括抽象类。但是一个类可以实现多个接口
2, 抽象类可以拥有抽象成员(没用代码体,且必须在派生类中实现)和非抽象成员(它们拥有代码体)。而接口成员必须都在使用接口的类上实现(它们没用代码体)
3,接口成员是公共的,而抽象类的成员可以是私有的、受保护的、内部的或受保护的内部成员。此外,接口不能包含字段、属性、构造函数、析构函数、静态成员或常量
4,抽象类主要用作对象系列的基类,而接口主要用于类
结构与类:
1,存储类型:结构是值类型,类是引用类型。
2, 继承性:类是可以继承的,它可以继承其他的类或者接口,也可以被继承,并且,类的许多特性是通过继承来展现的,要阻止类的继承,必须显示的声明sealed。结构没有继承,它不能继承另一个结构或者类,也不能被继承。也正因为如此,结构不能有抽象成员。虽然结构没有明确的用sealed声明,可是结构是隐式的。
3,初始化:类可以在声明的时候初始化,结构不能在申明的时候初始化(不能在结构中初始化字段),否则报错。
4,类和结构都有自己默认的构造函数,但在结构中,我们只能编写带参数的构造函数,不能编写不带参数的构造函数。
5,析构函数:类有析构函数,但是结构没有析构函数。
6,关键字:在类中可以使用但是在结构中限制使用的关键字有:abstract、sealed、protected;Static关键字可以用在类名前面用来声明静态类,但是不能用在struct前面,不存在静态结构。类用new来实例化对象,分配内存,需要使用new返回地址及分配空间,而结构用new是初始化,结构是值类型,申明时就已经分配内存了
网页生成:
1,客户端点击提交按钮或触发控件的事件
2,服务器端刷新整个页面
3,执行page_load事件
4,执行具体控件的事件并给页面控制赋值
5,重新生成新页面的HTML
6,使用response对象返回包含新数据的html页面
7,浏览器看到刷新后的页面。
三层架构项目之间的引用关系:
1,用户界面层UI 【业务逻辑层BLL】and【实体层Models】
2,业务逻辑层BLL 【数据访问层DAL】and【实体层Models】
3,数据访问层DAL 【实体层Models】
一句话送给实体层:一直被引用,从未翻过身。