面向对象:有关类和构造函数的基础知识

1、类和对象
对象:具体存在的,可以被描述的实体 属性和行为
类:具有共同属性和相同行为的多个对象的抽象

对象:具体的 实体
类:抽象的 概念

类是对象的抽象 对象是类得具体实例

2、创建和使用类
访问修饰符 [可选修饰符]class 类名
{
//类成员

//字段 》 数据

//属性 》 对字段的封装

//索引器 》 对集合类型字段的封装

//方法 》 对象的特殊行为

//事件 》 行为

//构造函数 》 初始化

}

字段:访问修饰符 数据类型 变量名;

使用:
a.创建对象
类名 对象名=new 类名();//相当于隐士创建了构造函数
b.给字段或者属性赋值
对象名.字段=值
c.调用方法
对象名.方法();
类的成员变量(字段)是默认初始化的。

3.构造函数
作用:创建对象并初始化
用来描述对象的创建过程

定义类的时候CLR会提供默认的构造函数(无参,方法体无语句);
定义构造函数:public Student(){}
访问修饰符 类名(参数列表)
{

}
this:当前实例(对象)

*构造函数 注:

*构造函数(构造方法)声明在类内部
*构造函数每次创建对象是被隐式调用
*构造函数常常用于初始化类成员
*构造函数与类同名
*构造函数不能声明返回值类型
*构造函数可以包含参数,参数一般是创建对象实力的前提条件
*每个类都必须至少有一个构造函数,若不提供,编译器自动生成一个无参构造函数
*在类中定义了构造函数,默认的构造函数就不再提供。
有参构造函数:
*如果类中定义了构造函数,建议添加无参构造函数
这就是构造函数的重载

4.修饰符
访问修饰符
public:公有的 类本身或者其他类
internal:程序集内可用
protected:受保护的 自身和子类可用
private:私有的 类自身

partial:分部类 在不同文件下创建两个类名相同的类在编译器编译时两个类都会被执行,编译成一个类

5.static

static成员:
在其他类中调用,用类名调用 类名.字段 类名.方法
在当前类中,实例方法和静态方法都可以直接调用

实例成员:
在其他类中调用,用对象调用 对象.字段 对象.方法
在当前类中,实例方法内直接调用 静态方法内 对象调用

注:
***方法或者字段写成static静态类型,在Main函数中可以用(类名.方法/类名.字段)的方式直接调用
***如果定义方法或者字段不加static 在Main函数中调用必须要先声明对象(类名 对象名=new 类名();) 然后才可以用(对象.方法/对象.字段)的方式调用,构造函数的字段也同样

静态类:
public static class()
{
//特征:
//所有成员必须是静态的 常量 静态字段 静态方法
//不能实例化(不能创建对象)
//不能被继承(不能创建子类)
}

静态构造函数:
用于初始化类的静态成员的
不能用访问修饰符,不能有任何参数
只被执行一次,不管创建多少个对象,只在类的第一个对象创建之前执行

关于static的练习:

1.创建汽车的类和构造函数

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace 类和构造函数
{
class Car
{
public string type;
public int price;
public static int milestone;

public Car()
{
type = "保时捷911";
price = 198;
milestone = 20;
}
public static void Start()
{
Car st=new Car();
Console.WriteLine("{0}售价为{1},行驶里程{2},正在启动!", st.type, st.price,milestone);
}
public void Stop()
{
Console.WriteLine("{0}售价为{1},行驶里程{2},正在停止!", type, price, milestone);//在当前类中,实例方法内直接调用 静态方法内 对象调用

}
}
}

2.在Main中调用静态方法和非静态方法的方式

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace 类和构造函数
{
class Program
{
static void Main(string[] args)
{

Car.Start();//静态方法在其他类中调用可以直接 类名.方法名() 调用
Car ct = new Car();
ct.Stop();//非静态方法在其他类中调用需要先声明类的对象,用 对象名.方法名() 调用
Console.ReadKey();
}
}
}

时间: 2024-12-22 22:05:12

面向对象:有关类和构造函数的基础知识的相关文章

scala入门教程:scala中的面向对象定义类,构造函数,继承

我们知道scala中一切皆为对象,函数也是对象,数字也是对象,它是一个比java还要面向对象的语言. 定义scala的简单类 class Point (val x:Int, val y:Int) 上面一行代码就是一个scala类的定义: 首先是关键字class 其后是类名 Point 类名之后的括号中是构造函数的参数列表,这里相当于定义了对象的两个常量,其名称分别为x,y,类型都是Int 上面的类和下面的类是一致的,不过更精简了. class Point (xArg:Int, yArg:Int)

java语言之面向对象的概念和和类与对象的基础知识

1. 什么是面向对象 (1)面向对象是一种编程方法 (2)面向对象是一种思维方式 (3)面向对象不是一种编程语言 2. 面向对象的优势 3. 如何学习面向对像 (1)掌握一种面向对象语言的语法 (2)掌握面向对象的思维方式 (3)熟悉面向对象设计原则 (4)掌握面向对象的设计模式 4. 面向对象的思维方法 (1)首先确定由谁来做,其次确定怎么做 (2)首先考虑整体,其次考虑局部 (3)首先考虑抽象,其次考虑具体 5. 什么是类 类是定义同一类所有对象的变量和方法的蓝图或原型 6. 如何创建一个类

面向对象的三大特性之继承-基础知识总结------彭记(05)

面向对象的三大特性之继承: js中的某些对象没有一些需要的属性和方法,但是另外的对象有,那么拿过使用,就是继承. js中继承的实现方式: 1.混入式继承:通过循环将一个对象中的所有属性和方法混入到另外一个对象中: var me={ work:function(){ console.log('敲代码'): } }: var mayun={ money:9999999, car:'000', manager:function(){ console.log('管理巴巴...'); } } /*遍历,让

类、对象(java基础知识六)

1.Java约定俗成 java约定俗成 1,类名接口名 一个单词首字母大写,多个单词每个单词首字母都大写 2,方法名和变量名 一个单词全部小写,多个单词从第二个单词首字母大写 建议:如果能用英语尽量用英语,实在不行用汉语拼音 代码书写格式 1,大括号成对写,左大括号在该行代码的最后,右大括号在该行代码的下边,并与该行代码对齐 2,左大括号前面有空格 3,并排语句中间都需要加空格 4,语句块或者方法中间加空行 2.面向对象的特点 面向对象思想特点 * a:是一种更符合我们思想习惯的思想 * b:可

《大话设计模式》笔记-基础知识2:面向对象基础知识

本书作者介绍每一种设计模式就是用类图(用的UML类图,其基础知识另文介绍)+面向对象语言小程序+人物对话解释知识点.本文就是介绍<大话设计模式>中所用到面向对象的基础知识(基于C#语言),方便阅读本书代码. 类与实例 (1)对象 一切事物皆为对象,对象就是看到.感觉到.听到.摸到等实实在在的东西.准确地说,对象是一个自包含的实体,用一组可识别的特性和行为来标识.面向对象编程,就是针对对象来进行编程的. (2)类 类就是具有相同的属性和功能的对象的抽象的集合.例子如下 "class&q

Linux基础知识&mdash;&mdash;shell命令类型及命令使用帮助

加入马帮有一段时间了,看到群里面大总管要检查博客,才意识到,原来我还没有写过作业.俗话说的好,时间是把杀猪刀!!!咳咳,其实想说,马哥视频忒长,内容贼多,对于文笔不好我来说,写作业压力山大啊,有木有.嗯.嗯,长话短说,进入正题. 两个星期过去,课程进度有点掉队,这篇博文主要记录基础命令课程知识,用于梳理知识点并加深印象,为今后行走linux之路打下坚实基础的好开端,完成该博文并回顾相关知识点后,期望加快学习步伐,稳扎稳打,跟上进度,good good study,day day up! 1.  

UML基础知识

(这个是很久以前写的一篇关于UML的文章,现在放出来和大家共享) 了解一下类与类之间的关联基础知识很有必要,因为这些关系就像我们建造房子的基石,是面向对向编程的基础. 类中的关系有六种,分别是关联(Association)关系.聚合(Aggregation)关系.组合(Composition)关系.泛化(Generalization)关系.实现(Realization)关系以及依赖(Dependency)关系,下面分别介绍这六种关系. 依赖(Dependency)关系 依赖是对象之间最弱的一种关

Java基础知识:面向对象&类图

类(Class)封装了数据和行为,是面向对象的重要组成部分,它是具有相同属性.操作.关系的对象集合的总称.在系统中,每个类都具有一定的职责,职责指的是类要完成什么样的功能,要承担什么样的义务.一个类可以有多种职责,设计得好的类一般只有一种职责.在定义类的时候,将类的职责分解成为类的属性和操作(即方法).类的属性即类的数据职责,类的操作即类的行为职责.设计类是面向对象设计中最重要的组成部分,也是最复杂和最耗时的部分. 1.面向对象特性 1)抽象 2)继承 3)封装 4)多态 2.类图: 在软件系统

PHP中oop面向对象基础知识(一)

                                                                                    OOP 基础知识汇总(一) >>>你需要了解以下概念面向对象&面向过程概念:  面向过程:专注于解决一个问题的过程.面向过程的最大特点,是由一个一个的函数去解决处理这个问题的一系列过程.  面向对象:专注于由哪个对象来处理一个问题.面向对象的最大特点,是有一个个具有属性和功能的类,从类中拿到对象,进而处理问题. [