学习面向对象的第一天,感觉还好啦

今天是在云和学院学习面向对象的第一天,发现程序的写法可以有好多种,但是简单的还是要自己学习,其实都很想用简单的方法,但是还是需要面向对象这个理解的更加明白,或许我真的在这方面只是知道这个名词但是还真的不知道这个怎么整,今天就初步的写下我学习的面向对象的一些基本的知识。

<1>首先讲述了类与对象的区别以及类的定义与对象的定义,虽然学习类与对象很抽象,但是我认为首先是自己能够理解类与对象的定义,从定义上在去区别类与定义,这样可能会简单些吧。

类的定义:把具有相同性质和功能的事物所构成的集合就叫做类。例如:动物类包括:兔兔,灰灰,羊羊···;车类包括:大卡车,汽车,火车···,是一类的事物。

对象的定义:就是类抽象出来的具体事例。例如:很简单的说,人类的实例就是世界上的每一个人。

下面写一个学生类的例子:

•定义一个学生类,有六个属性,分别为姓名、性别、年龄、语文、数学、英语成绩。

•有2个方法:

–一个打招呼的方法:介绍自己叫XX,今年几岁了。是男同学还是女同学。

–两个计算自己总分数和平均分的方法。{显示:我叫XX,这次考试总成绩为X分,平均成绩为X分}

•实化两个对象并测试:

–张三 男 18  三科成绩为:90 95 80

–小兰 女 16  三科成绩为:95 85 100

class Student1
    {
        public string name;
        public string gender;
        public int age ;
        public int chinese;
        public int math;
        public int English;
        public void SayHi()
        {
            Console.WriteLine("大家好");
        }
        public void SumAvg(string name, int chinese, int math, int English)
        {
            int sum = 0;
            sum = chinese + math + chinese;
            Console.WriteLine("这次考试总成绩为{0}分,平均成绩为{1}分", sum, sum / 3);
        }
    }

class student
    {
        static void Main(string[] args)
        {
           Student1 student = new Student1();
           Student1 student1 = new Student1();
           student.name = "张三";
           student.age =18;
           student.gender="男";
           student.chinese = 90;
           student.math = 95;
           student.English = 80;

           student1.name = "小兰 ";
           student1.age = 16;
           student1.gender = "女";
           student1.chinese = 95;
           student1.math = 85;
           student1.English = 100;

           student.SayHi();
           student.SumAvg(student.name,student.chinese,student.math,student.English);
           Console.WriteLine("名字为{0},今年{1}岁了,{2}生。", student.name, student.age, student.gender);
           student.SayHi();
           student.SumAvg(student.name, student.chinese, student.math, student.English);
           Console.WriteLine("名字为{0},今年{1}岁了,{2}生。", student1.name, student1.age, student1.gender);
           Console.Read();
        }
    }

输出的结果如下所示:

这就是类的应用。

<2>访问修饰符public,protected以及private;在这有一句话需要记得:在同一命名空间内,类名字前的修饰符可以省略也可以不省略。

<3>对象初始化的用法,举例说明:

上面圈到的就是一样的用法,简单点的写法,在对象初始化后面加一个花括号这样的写法就是运用了初始化器的写法,用起来比上面的更简单些····

<4>属性的写法,有三种

第一种就是最基本的:   第二种: 第三种:快捷键ctrl+R+E,点击确定两次。

<5>析构函数,定义一个人类来说吧

 enum Gender
    {
        male,
        famale
    }
    class Person
    {
        public Person(string n, int a, Gender g)
        {
            this.name = n;
            this.age = a;
            this.gender = g;
        }
        string name;
        public string Name { set; get; }
        int age;
        public int Age { set; get; }
        Gender gender;
        public Gender Gender { set; get; }
    }

class Program
    {
        static void Main(string[] args)
        {
            Person p = new Person("张三",18,Gender.male);
            Console.WriteLine("我是{0},今年{1}岁,{2}",p.Name,p.Age,p.Gender);
            Console.ReadKey();
        }
    }

这个和上面定义的学生类相比简单了好多吧,析构函数和构造函数的名字相同,它主要用来销毁程序占用的资源。如果未定义,则默认存在一个析构函数,析构函数具有以下特点:

•不能在结构中定义析构函数。只能对类使用析构函数。

•一个类只能有一个析构函数。

•无法继承或重载析构函数。

•无法调用析构函数。它们是被自动调用的。

析构函数既没有修饰符,也没有参数

好啦,今天我就学习了这些····话说我现在需要练习题,知道了方法怎么写,但是在写方法时间还是不熟练吧,不能很快的写好一个方法。

哇咔咔,继续努力写程序喽

时间: 2024-09-30 23:35:46

学习面向对象的第一天,感觉还好啦的相关文章

[转]学习你的第一门编程语言

学习你的第一门编程语言 投递人 itwriter 发布于 2016-11-04 12:24 评论(0) 有539人阅读 原文链接 [收藏] ? ? 英文原文:Learning Your First Programming Language 这篇文章摘自于我即将推出的新书<The Complete Software Developer's Career Guide>的其中一章. 好的,决定好想学什么编程语言了吗,现在就让我们开始学习吧. 所有你需要做的就是打开一本书,然后开始阅读,是这样的吗?

《七周七语言》学习笔记——Ruby——第一天:找个保姆

感觉学了东西很快就会忘记,不会留下什么,趁这次看<七周七语言>,把其中觉得有用的东西记录下来,方便以后自己查阅,这篇应该就是记录的开始了. Ruby是一门面向对象的.解释型的.动态类型的脚本语言.面向对象,说明了这门语言具有封装.继承.多态这些特性:解释型,意味着它由解释器而不是编译器来执行:动态类型,即类型是在运行时绑定而非编译时绑定:脚本语言,则说明了它很短!易上手!并且只在调用的时候解释执行. 编程模型:一切皆对象,从一个数到bool值,都被定义为对象,都有自己的方法 判断结构:块形式和

(转)神经网络和深度学习简史(第一部分):从感知机到BP算法

深度|神经网络和深度学习简史(第一部分):从感知机到BP算法 2016-01-23 机器之心 来自Andrey Kurenkov 作者:Andrey Kurenkov 机器之心编译出品 参与:chenxiaoqing.范娜Fiona.杨超.微胖.汪汪.赵巍 导读:这是<神经网络和深度学习简史>第一部分.这一部分,我们会介绍1958年感知机神经网络的诞生,70年代人工智能寒冬以及1986年BP算法让神经网络再度流行起来. 深度学习掀起海啸 如今,深度学习浪潮拍打计算机语言的海岸已有好几年,但是,

Stealth视频教程学习笔记(第一章)

Stealth视频教程学习笔记(第一章) 本文是对Unity官方视频教程Stealth的学习笔记.在此之前,本人整理了Stealth视频的英文字幕,并放到了优酷上.本文将分别对各个视频进行学习总结,提炼出其中的知识点和思路思想. 视频地址在(http://www.youku.com/playlist_show/id_23389553.html),是一个Stealth的专辑,这里只放上第一个视频,其它的大家在上面的链接中慢慢看吧. 第二章有一个视频是FLV格式的,我没法把字幕嵌入其中,所以优酷上就

ICE学习第二步-----从第一个程序了解ICE(HelloWorld)

ICE(Internet Communications Engine)是一种面向对象的中间件平台,主要用于网络通讯.它为面向对象的“客户端-服务器”模型的应用提供了一组很好的工具和API接口.目前在全世界被应用于很多项目之中.ICE中间件号称标准统一,开源,跨平台,跨语言,分布式,安全,服务透明,负载均衡,面向对象,性能优越,防火期穿透,通讯屏蔽.因此相比Corba,DCOM,SOAP,J2EE等的中间件技术,自然是集众多优点于一身,而却没有他们的缺点. 这次编写的小程序主要流程很简单,就是客户

学习笔记:第一章——计算机网络概述

学习笔记:第一章--计算机网络概述 1.0 计算机网络的定义:一些互相连接的,自治的计算机的集合称为计算机网路. 1.1 计算机网络在信息时代中的作用:连通和共享. 1.2 因特网概述:       网络的概念:网络(network)是由若干个结点(node)和连接这些结点的链路(link)组成. 网络中的结点可以是计算机,集线器,交换机和路由器: 网络和网络是通过路由器连接: 因特网是世界上最大的网络. 1.3 因特网的组成: 从因特网的工作方式上将其分为以下两大快: (1)边缘部分:由所有的

少走弯路去学习面向对象编程

少走弯路去学习面向对象编程 如何学习面向对象编程 在学习面向对象的过程中,我自己也走了很多的弯路.一般来讲,接触面向对象是做为编程语言的一部分.那时候认为在程序中写一个 Class 关键字就是面向对象,写Class A: Class B就是面向对象的继承.实际从编程语言的角度来理解是无法掌握面向对象的精髓的,在这里我想以我的经验来告诉大家我的一些方法. 面向对象是一种思想理论,要远远高于编程语言.不深入理解面向对象理论就无法做到编写比较高级的软件,而且往往这些软件不能有效应对变化,不能复用,不能

关于开始学习Leetcode的第一帖

从明天开始,白天在实验室完成工作,晚上来图书馆换个环境去学习算法数据结构等计算机基础性的技能.在LeetCode这个平台上做题. 现在感觉自己在算法和数据机构这方面实在是太薄弱了,需要慢慢的捡起来来,要不然明年开始找工作就太没有竞争力了!所以要坚持刷Leetcode上的题目,慢慢找到学习算法和数据结构的感觉,只有这样,才不愧是计算机科班出生了.同时还是看看图书馆的漂亮妹子,何乐而不为呢~~~ 娃哈哈哈哈哈~~

Cocos2dx 学习笔记整理----第一个项目

接上一节, 进入新建的项目下面的proj.win32下面,找到项目名.sln文件(我的是game001.sln),双击会通过VS2010打开.(当然,你装了VS什么版本就是什么版本) 将你的项目设为启动项目, 切换到解决方案视图, 然后邮件点击解决方案, 选择生成解决方案. 第一次生成根据个人机器性能会消耗大概1-3分钟,呵呵. 但是以后会快很多的. 生成成功的话会在输出窗口显示如下: 一般都会生成成功,但是我生成的时候失败了很多次,后来发现是这个问题:http://www.cnblogs.co