什么是对象呢,简单的说:万物皆对象.
说到对象,就要说说什么是类了:类是对事物的一种抽象定义,将抽象之后的特征和行为有机结合便构成了类,类是具有共同特征和行为的一类事物的统称.
举个简单的例子,人类就是一个类,那么每一个人就是具体的对象.对象本身是具体的,是客观存在的,而类则是一个抽象的概念,并非客观存在.理解类和对象之间的关系,首先需要 根据具有相同特征的对象抽象出一个类,再根据类的特征来描述具体的对象,例如,首先抽象出一个包含姓名,年龄,身高,体重的学生类,然后指定学生姓名为"小明",年龄20,身高170cm,体重60kg,指定了字段值后该学生就是一个具体的对象了.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Ant11
{
/// <summary>
///
/// </summary>
class Program
{
static void Main(string[] args)
{
//实例化类, 也叫实例化对象
Student student = new Student(); //向内存申请使用空间
string str = student.name2;
Console.WriteLine(str);
str = "小冰";
Console.WriteLine(str);
Console.Read();
}
}
/// <summary>
/// 学生类
/// 修饰符的作用: 保护类的安全 internal 让其他项目不能访问
/// 修饰符的作用: 保护类的安全 public 让其他项目都能访问
/// </summary>
public class Student
{
//类成员: 属性、方法、字段变量 。。
//定义字段变量
string name = "小张";
//private私有属性
//public 共有属性
private string name1 = "小王";
public string name2 = "小李";
}
}
类中set和get方法
public class Student
{
//private(私有)---public(公开)访问修饰符
//字段: "成员变量" , 一般用于类的内部做数据交互
private string name;//Camel命名法
public string Name //pascal命名法
{
get { return name; }//get方法,获取字段的值
set { name = value; }//set方法,设置字段的值
}
private int age;//Camel命名法
public int Age //pascal命名法
{
get { return age; }//get方法,获取字段的值
set {
//这里可以写逻辑方法判断
if (value < 18)
{
age = 18;
}
else
{
age = value;
}
}//set方法,设置字段的值
}
}
//自动属性 pro + tabll + tabll
public int PhoneNumber { get; set; }
实例化方法和静态方法的区别
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Ant15
{
/// <summary>
/// 方法的定义和使用
/// 方法:实例方法、静态方法(构造方法、抽象方法、虚方法、扩展法)
/// 实例方法定义规范:访问修饰符,返回值类型 方法名(参数1, 参数2, 参数3)
/// {
/// //在这里写我们要做的事件
/// return 返回值(没有返回值就 不用写)
/// }
/// 方法命名: Pascal命名法, 首字母大写
/// 方法调用: 对象名.方法名(参数)
/// 静态方法定义规范:
/// 与普通方法的区别
/// 1. 加static表示静态方法
/// 2. 调用区别: 类名.方法名
/// 3. 静态方法只能调用静态成员
/// 4. 非静态方法可以访问类中的任何成员
///
/// 静态方法和非静态方法最重要的区别: 内存开辟时间不一样,静态方法是程序运行时就开辟,
/// 实例化方法--new的时候开辟
/// </summary>
class Program
{
static void Main(string[] args)
{
Calculate calculate = new Calculate(); //实例化类
calculate.Print();//调用方法
//有参数的调用
int result = calculate.Add(5, 6);
Console.WriteLine("计算结果为 " + result);
Console.Read();
}
}
/// <summary>
/// 1. 方法是写在类里面
/// </summary>
public class Calculate
{
/// <summary>
/// 实例化方法
/// 无返回值,无参数方法
/// </summary>
public void Print()
{
//在这里写我们要做的事情
Console.WriteLine("我要开始计算了");
}
/// <summary>
/// 实例化方法
/// 有参数有返回值方法
/// 加法计算
/// </summary>
/// <param name="a">第一个参数</param>
/// <param name="b">第二个参数</param>
/// <returns></returns>
public int Add(int a, int b)
{
int result = a + b;
return result;
}
/// <summary>
/// 静态方法
/// 加static
///
/// </summary>
/// <param name="a"></param>
/// <param name="b"></param>
/// <returns></returns>
public static int delete(int a, int b)
{
int result = a - b;
return result;
}
}
}