学习日志(十六)

面向对象概述:

三大特性:

1.封装:用程序语言来形容对象

2.继承:复用封装对象的代码

3.多态:同样行为的不同表现

类和对象

1.类的概念

○具有相同特征和行为的一类事物的抽象

○类是对象的模板

○可以通过类创建出对象

○类的关键词是class

2.类和结构体的区别

结构体是值类型,而类则是引用类型

结构体使用栈存储,而类使用堆存储

结构体成员不能继承自其他类或结构体,也不能被其他类或结构体继承(即不具有继承的多态性),而类可以

结构体成员变量不能在声明时赋值初始值,而类可以

结构体没有默认的构造函数,添加构造函数时不能定义无参构造函数,只能定义带参构造函数;类有默认的构造函数,可以自定义无参构造函数或者带参构造函数

类是反映现实事物的一种抽象,而结构体只是包含了不同类别数据的一种包装

3.类声明的位置:

namespace语句块中

class语句块中(内部类)

4.类声明的语法

class 类名

{

//特征﹣变量成员

//行为﹣方法成员

//保护特征﹣成员属性

//构造函数和析构函数

//索引器

//运算符重载

//静态成员

class Person

{

}

// 实例化对象的形式与内存空间的关系

//没有分配堆内存,只是在栈中开辟了内存空间用于储存堆内存的地址,但地址为nu11

Person p0;

person p1 = null;

//分配了堆内存,栈中的地址不为nu11

Person p2 = new Person();

类的构造函数

1.概念

在实例化对象时会调用的用于初始化的函数

如果不写,默认存在一个无参构造函数

2.特性

普通构造函数在new一个新对象的时候会被调用

没有返回值

函数名和类名相同

没有特殊需求时一般都用public访问修饰符修饰

类的构造函数可以重载

如果自定义了带参的构造函数,则会失去默认的无参构造函数(可理解为被顶替了)

class Person

{

//变量成员

public string name;

public int age;

public float money;

//自定义构造函数可以重载

public Person(){

name="Jack";

age=18;

}

public Person(string name, int age){

this.name= name;

this.age=age;

}

}

构造函数的特殊写法:关键字this

后面加":this()"可以调用其他的同名重载构造函数,"()"内可以加变量

全部评论

相关推荐

人力小鱼姐:实习经历没有什么含金量,咖啡店员迎宾这种就别写了,其他两段包装一下 想找人力相关的话,总结一下个人优势,结合校园经历里有相关性的部分,加一段自我评价
点赞 评论 收藏
分享
06-26 15:33
青岛工学院 Java
积极的秋田犬要冲国企:他现在邀请我明天面试
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务