programowanie obiektowe obiekt klasa c# przenośność niektóre

Transkrypt

programowanie obiektowe obiekt klasa c# przenośność niektóre
PROGRAMOWANIE OBIEKTOWE
Paradygmat programowania, w którym programy definiuje się za pomocą obiektów.
OBIEKT
Element zawierający dane (pola) i wykonujący na nich operacje (za pomocą metod).
KLASA
„Szablon”, na podstawie którego tworzony jest obiekt
C#
obiektowy język programowania, opracowany dla firmy Microsoft.
PRZENOŚNOŚĆ
Istnieją środowiska uruchomieniowe pracujące zarówno pod systemem Windows (.NET Framework),
jak i GNU/Linux (Mono)
NIEKTÓRE CECHY JĘZYKA C#
•
•
•
•
obiektowość – kod programu jest zbiorem klas
jeden elemeny nadrzędny – System.Object
typy proste są również obiektami
odśmiecanie pamięci
Program w C
Program w C#
#include <stdio.h>
using System;
int main()
{
double a, pole;
class Program
{
static void Main(string[] args)
{
Console.Write("Podaj dlugosc boku a = ");
double a = double.Parse(Console.ReadLine());
printf("Podaj dlugosc boku a = ");
scanf("%lf", &a);
pole = a*a;
double pole = a*a;
printf("Pole kwadratu P = %.2f\n", pole);
Console.WriteLine("Pole kwadratu P = {0}", pole);
}
return 0;
}
}
Zmienne mogą być deklarowane w dowolnym miejscu
C
C#
int i;
for (int i = 0; i < 10; i++)
.....;
for (i = 0; i < 10; i++)
.....;
Typ 'string' – koniec problemów z 'char *'
C
char x[] = "jeden";
char y[] = "dwa";
char z[20];
C#
string x = "jeden";
string y = "dwa";
string z = x + y;
strcpy(z, x);
strcat(z, y);
ELEMENTY PROGRAMISTYCZNE
Typy zmiennych
int – liczba całkowita
float – liczba zmiennoprzecinkowa o zakresie -1,5*10-45 do 3,4*1038
double – liczba zmiennoprzecinkowa o zakresie -5,0*10-324 do 1,7*10308
long – długa liczba
short – krótka liczba całkowita
byte – 8 bitowa liczba całkowita
char – pojedynczy znak Unicode
string – łańcuch tekstowy
bool – wartość logiczna 'true' lub 'false'
Operatory
arytmetyczne: +, –, *, /, %, ++, -logiczne: &&, ||, !
bitowe: &, |, ~
porównania: ==, !=, <, <=, >, >=
inne: ., [], new, is, as, ...
Instrukcje
if (warunek) ........................;
else ........................;
while (warunek) ....................;
do .....................;
while (warunek);
for (początek; warunek; iteracja) ..................;
switch (zmienna)
{
case wartość1: ..........; break;
case wartość2: ..........; break;
case wartość3: ..........; break;
default: ..........;
}
Tablice
int[] tab = new int[20];
int x = 5;
double[] Z = new double[x];
int i = Z.Length;
int[][] q;
q = new int[5][];
for (int i = 0; i < 5; i++) q[i] = new int[i+5];
string[,] Nazwy = new string[5,4];
byte[][] wyniki = new byte[5][6];
int[][,,][,] liczby;
int[] numbers = new int[5] {1, 2, 3, 4, 5};
string[] names = new string[3] {"Matt", "Joanne", "Robert"};
int[] numbers = new int[] {1, 2, 3, 4, 5};
string[] names = new string[] {"Matt", "Joanne", "Robert"};
int[] numbers = {1, 2, 3, 4, 5};
string[] names = {"Matt", "Joanne", "Robert"};
int[,] numbers = new int[3, 2] { {1, 2}, {3, 4}, {5, 6} };
string[,] siblings = new string[2, 2] { {"Mike","Amy"}, {"Mary","Albert"} };
int[,] numbers = new int[,] { {1, 2}, {3, 4}, {5, 6} };
string[,] siblings = new string[,] { {"Mike","Amy"}, {"Mary","Albert"} };
int[,] numbers = { {1, 2}, {3, 4}, {5, 6} };
string[,] siblings = { {"Mike", "Amy"}, {"Mary", "Albert"} };