如鹏网学习笔记(二)面向对象基础

面向对象基础
1,面向对象的三大特征:封装、继承、多态。

2,定义字段的方法和实例化类:和声明数组一样,类名 对象名 = new 类名();

3,对象的引用传递:Person weiren = yzk; weiren指向对yzk当前所指向的对象。

4,null和成员变量、局部变量的不同初始化
  1)null表示变量没有指向任何对象
  2)对于一个为null的变量调用成员方法都会报异常NullReferenceException
  3)值类型(ValueType):数据类型(int、long、double等)、boolean等基本类型,枚举、结构体,不能为null。String不是值类型。
  4)局部变量必须初始化,成员变量声明时默认初始化,基本数值类型默认初始值为int,String等非基本类型初始化为null。
  5)当成员变量和局部变量(函数参数也可以看做局部变量)重名的时候,被看做局部变量,因此为了避免混乱,建议访问成员变量的时候加上“this.”this代表当前对象。

5,public和private
  1)public成员可以被类内部或者外部访问,private成员只能被类内部访问。这样可以保护不希望外界调用的内部成员()不被外界访问。
  2)字段/成员变量一般声明为private,通过get/set方法来进行取值和赋值。6,属性

  避免外界对成员变量随便赋值,所以把成员变量声明为private,因此有了属性这个语法:
  private int height;
  public int Height
  {
    get
    {  
      return this.height;
    }
    set
    {
      this.height = value;
    }
  }
  p.Height=50;int a = p.Height;
7,构造函数
  1)构造函数是创建对象时,对类进行初始化的特殊函数。
  2)如果定义类的时候没有声明构造函数,默认会给出一个无参构造函数,如果定义了一个构造函数,则就不会提供了。
  3)构造函数的格式和特点:方法名必须和类名一致,没有返回值类型,构造函数可以重载
8,static
  1)不需要new就可以直接通过类名调用
  2)static变量是共享内存空间的,非static变量则是对象隔离的
  3)static方法中无法使用this关键字,因为static独立于对象存在,不是任何人的唯一
  4)static成员中只能访问static成员,不能直接访问非static成员,而非static成员可以访问static成员
9,单例模式
  确保类在系统中只有一个对象
  实现方法:
    1)构造函数声明为private,避免外界访问
    2)定义一个private readonly static的对象实例,static成员的初始化只在类第一次使用的时候执行一次。readonly修饰变量只能在构造函数或者初始化的时候赋值
    3)定义一个public static的方法,返回唯一实例
10,静态代码块
  静态代码块在类第一次被使用的时候执行一次,在构造函数执行之前执行。只要用到类,哪怕没有new对象(声明变量)也会被执行,且只执行一次。
11,命名空间
  1)避免类名重复
  2)语法:namespace 空间名 {类}
  3)当前命名空间中的类无需引用。可以使用using引用其他命名空间下的类,还可以直接用“命名空间.类名”的方式。
12,继承
  1)子类会从父类继承所有非private成员
  2)子类还可以继续有子类,但一个类只能有一个父类,如果没有指定父类,则System.Object为父类
  3)子类的构造方法默认都去访问了父类的无参构造函数:在子类中的构造方法后都有一行默认的语句base()
13, private、public和protected的区别
  1)private成员无法被子类访问,子类只能通过父类的非private方法“间接”访问父类的private成员。这样保证了父类private成员的安全性。

  2)protected成员只能被自己以及子类(直接或者间接)访问,无法在其它类中调用
14,override
  子类中定义和父类中一样的方法叫做重写override或覆盖,父类中可以被重写的方法必须要声明为virtual(虚方法)
15,抽象类
  1)类标记为abstract,这样的类无法被直接实例化(new),这就叫抽象类
  2)抽象方法没有方法体
  3)一旦类中定义了抽象方法,类必须被修饰为抽象
  4)抽象类无法实例化
16,接口
  接口是一种用来声明“能力”的类型,不提供具体实现
  1)语法:
    public interface 接口名
    {
      返回值类型 方法名();
    }
  2)不提供实现方法,连{}都不能有。
  3)接口无法实例化,只能被类“实现”
  4)一个类继承了接口之后,即可以使用接口变量类型调用方法,也可以使用类类型变量调用
  5)接口定义了做什么,类定义了怎么做
  6)接口中不能声明变量(字段),一个没有实现代码的接口中声明变量没有意义
  7)接口中可以定义多少方法,也可以不定义任何方法
  8)接口不能也没必要定义构造函数
  9)类只能有一个父类,类可以实现多少接口

时间: 2024-08-26 11:28:19

如鹏网学习笔记(二)面向对象基础的相关文章

加壳学习笔记(二)-汇编基础

7.简单的汇编语法:   堆栈平衡  PUSH,POP功能: 把操作数压入或取出堆栈语法: PUSH 操作数 POP 操作数格式: PUSH r PUSH M PUSH data POP r POP mPUSHF,POPF,PUSHA,POPA功能: 堆栈指令群格式: PUSHF POPF PUSHA POPAADD,ADC功能: 加法指令语法: ADD OP1,OP2 ADC OP1,OP2格式: ADD r1,r2 ADD r,m ADD m,r ADD r,data影响标志: C,P,A,

如鹏网学习笔记(七)HTML基础

HTML笔记 一.HTML简介 1,HTML (Hyper Text Mark-up Language) 超文本标记语言,是一种编程语言,也可以说是一种标准.规范. 2,HTML提供了一系列标记(标签),每个标记都有不同的含义和作用,浏览器根据标记的含义把内容显示到浏览器页面上 3,超文本:页面不仅可以包含普通文本,还可以包含图片.链接.音乐.程序等非文本内容 4,学习HTML主要是学习常用标签的用法和语法规范 二.基本标签 <!DOCTYPE> 定义文档类型,表明该文档的类型和版本(了解)

如鹏网学习笔记(四).Net常用类库

.Net常用类库 一.String成员方法(常用) 1,bool Contains(string str) 判断字符串对象是否包含给定的内容 2,bool StartsWith(String str):判断字符串对象是否以给定的字符串开始. 3,bool EndsWith(String str):判断字符串对象是否以给定的字符串结束. 案例:判断是否是网址:以http://开头.以.com或者.cn结尾. 案例:判断用户输入的邮件是否是QQ邮箱,用户输入的用户名是否包含"毛ze东"等敏

如鹏网学习笔记(五)MySql基础

MySQL基础 一.数据库概念 1,网友装备信息.论坛帖子信息.QQ好友关系信息.学籍管理系统中的学生信息等都要"持久化"的保存到一个地方, 如果通过IO写到文件中,那么会非常麻烦,而且不利于多人共享数据 2,我们开发大部分软件.网站都要大量用到书库,甚至开发游戏.手机App也要用到数据库,公司面试的时候数据库的考核在三分之一以上 3,数据库(DataBase)是保存数据的仓库,可以方便的把数据放进去,并且把数据根据各种需要取出来. 数据库管理系统(Database Managemen

如鹏网学习笔记(六)ADO.Net基础

ADO.Net基础 一.ADO.Net简介 1,程序要通过SQL语句自动化的操作数据库,必须要用一个类库, 类库要提供execute("insert into ...")/executeQuery("select * from ...")类似的方法 2,ADO.Net是.Net中提供的标准访问数据库的接口,访问不同的DBMS的底层方法是不一样的,ADO.Net把访问数据库的方法进行了统一, 访问MYSql.Oracle.SqlServer等不同数据库的方法几乎是一样

如鹏网学习笔记(十二)HTML5

一.HTML5简介 HTML5是HTML语言第五次修改产生的新的HTML语言版本 改进主要包括: 增加新的HTML标签或者属性.新的CSS样式属性.新的JavaScript API等.同时删除了一些过时的和样式相关的HTML标签和属性 给网页带来了新的特性: 多媒体支持.本地存储.图形绘制和样式特效等 二.新的多媒体标签 1,<video> 用来在页面播放视频 部分属性: src 要播放的视频的地址 width 设置播放器的宽度,单位px height 设置播放器的高度,单位px contro

如鹏网学习笔记(九)JavaScript

JavaScript笔记 一.JavaScript简介 1,JavaScript是一种计算机编程语言,可以像等其他编程语言那样定义变量,执行循环等. 2,JavaScript代码主要执行在浏览器上,为HTML页面提供动态效果 3,而且JavaScript是一种脚本语言,它的代码是解释执行的,也就是解释一句代码后就会执行这句代码 4,JavaScript可简称为 js 二.js变量声明 1,js是弱类型语言,弱类型并不是说数据本身没有类型,而是变量没有类型. 如一个变量a,a的值既可以是字符串类型

如鹏网学习笔记(十)DOM

DOM笔记一.DOM简介 Document Object Model 文档对象模型 DOM的节点树模型:整个文档按照从大到小的节点划分,每一个内容都算作一个节点 DOM API 编程接口 可以用来操作页面的任意一部分内容 js+DOM编程的思想:由js基本语法控制程序的执行逻辑,由DOM API进行元素的查找获取,进而再对元素进行增删改等操作 学习DOM,除开学习设计思想外,更多的是学习DOM API的用法 二.document对象 document对象, 是Windows对象的一个属性, 表示

如鹏网学习笔记(十四)ASP.NET

Asp.net笔记 一.Socket类 进行网络编程的类,可以在两台计算机之间进行网络通讯 过程: 向服务器发送指令: GET /index.html HTTP/1.1 Host:127.0.0.1:8080 回车空行 二.浏览器是什么 浏览器就是一个Socket网络客户端,帮助用户请求网站服务器上的内容并且将返回的内容渲染为图形化内容 浏览器的过程: 用户在浏览器输入网址,浏览器向DNS服务器发出Socket请求, 服务器把请求的内容返回给浏览器, 浏览器将内容进行解析并渲染绘制成页面展现,