网站首页 > 资源文章 正文
直接用上代码展示
// 定义一个类 -- 人,这个类就是一个对象
class Persions
{
// 人有名字、年龄、身高、体重,这些是类的属性
string name;
int age;
double height;
double weight;
// 人可以吃饭、走路、说话、睡觉,这些是类的方法
public void Eats()
{
Console.WriteLine("吃饭");
}
public void Walk()
{
Console.WriteLine("走路");
}
public void Speak()
{
Console.WriteLine("说话");
}
public void Sleep()
{
Console.WriteLine("睡觉");
}
}
面向对象编程就是把一个类看作是一个对象,万物皆对象,比如书,动物,树,石头等
面向对象有三大特性,分别是封装、继承、多态
封装
把所有不需要展现出来的属性都隐藏起来,让外面的类无法直接调用属性,只能通过将属性封装到方法内,然后调用方法,可以在方法里面作出限制
class Dog
{
string name;
int age;
double height;
double weight;
// readonly 只读属性
readonly bool isLove;
readonly string food;
readonly string friend;
// 只读属性的赋值
public Dog(string food)
{
// 属性 和 传入的参数 名称一样的时候需要用this关键词指向成员变量(属性)
this.food = food;
}
/* 和上面一样的效果
public Dog(string _food)
{
food = _food;
}
*/
// 只写 get用于获取值,set用于设置值
public string Name { get; } = "馒头";
// 展开之后可以设置约束
public int Age
{
get
{
return age;
}
set
{
if (value <= -1)
age = 0;
else
age = value;
}
}
// 可以不设置约束
public double Height
{
get
{
return height;
}
set
{
height = value;
}
}
// 只写只读
public double Weight { get; set; }
// 只写
public string Food
{
get
{
return food;
}
}
/*
可以这样写,不会报错,但是外面类调用无法获取到food的值
public string Food{get;}
*/
// readonly 属性的读写
public bool IsLove { get; set; }
// readonly 属性的写
public string Friend { get; } = "Cat";
/*
直接在类自定义输出
*/
public void Print()
{
Console.WriteLine("食物: {0}", food);
}
}
class Print
{
static void Main()
{
// 实例化对象并赋值
Dog dog = new Dog("狗粮")
{
Age = -1,
Height = 50,
Weight = 20,
IsLove = true
};
/* 和上面是一样的效果
Dog dog = new Dog("狗粮");
dog.Age = -1;
dog.Height = 50;
dog.Weight = 20;
dog.IsLove = true;
*/
Console.WriteLine(
"姓名: " + dog.Name +
"\n年龄: " + dog.Age +
"\n身高: " + dog.Height +
"\n体重: " + dog.Weight +
"\nFood: " + dog.Food +
"\nIsLove: " + dog.IsLove +
"\nFriend: " + dog.Friend
);
dog.Print();
}
}
输出:
年龄: 0
身高: 50
体重: 20
Food: 狗粮
IsLove: True
Friend: Cat
食物: 狗粮
继承
继承主要是为了解决代码重用的问题
多态
多态是通过继承或者接口来实现的,每个人都是独一无二的(这种独一无二就是多态),但是都存在走路,吃饭,睡觉等一系列相同的行为
- 上一篇: Delphi基础教程图文版之初识面向对象
- 下一篇: 什么是面向对象,看这一篇就够了(什么叫面向对象)
猜你喜欢
- 2024-09-18 无门槛快速学编程——Python小短课,三探面向对象
- 2024-09-18 Python中的“实例化对象”——掌握面向对象编程的核心技能
- 2024-09-18 面向过程和面向对象最通俗的解释(面向对象和面向过程的概念和区别)
- 2024-09-18 Python | 面向对象如何快速实现(一)
- 2024-09-18 漫画:如何通俗易懂地解释面向对象思想?
- 2024-09-18 一文让你掌握Python面向对象的编程思维
- 2024-09-18 什么是面向对象,看这一篇就够了(什么叫面向对象)
- 2024-09-18 面向对象:静态方法、类方法、属性方法
- 2024-09-18 Delphi基础教程图文版之初识面向对象
- 2024-09-18 最容易被人忽视的面向对象的六大原则
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- 电脑显示器花屏 (79)
- 403 forbidden (65)
- linux怎么查看系统版本 (54)
- 补码运算 (63)
- 缓存服务器 (61)
- 定时重启 (59)
- plsql developer (73)
- 对话框打开时命令无法执行 (61)
- excel数据透视表 (72)
- oracle认证 (56)
- 网页不能复制 (84)
- photoshop外挂滤镜 (58)
- 网页无法复制粘贴 (55)
- vmware workstation 7 1 3 (78)
- jdk 64位下载 (65)
- phpstudy 2013 (66)
- 卡通形象生成 (55)
- psd模板免费下载 (67)
- shift (58)
- localhost打不开 (58)
- 检测代理服务器设置 (55)
- frequency (66)
- indesign教程 (55)
- 运行命令大全 (61)
- ping exe (64)
本文暂时没有评论,来添加一个吧(●'◡'●)