├── README.md └── bin ├── colors ├── black.dart ├── green.dart └── main.dart ├── gs1.dart ├── gs10.dart ├── gs11.dart ├── gs12.dart ├── gs13.dart ├── gs2.dart ├── gs3.dart ├── gs4.dart ├── gs5.dart ├── gs6.dart ├── gs7.dart ├── gs8.dart ├── gs9.dart ├── product ├── laptop.dart ├── main.dart └── mobile.dart └── school ├── main.dart └── students.dart /README.md: -------------------------------------------------------------------------------- 1 | # Dart Programming Language 2 | ### Watch Video Tutorial:- https://youtu.be/R2sRhDq7qKk 3 | ## Topics:- 4 | * Visiting Dart Official Website 5 | * Download and Install Dart SDK 6 | * Set PATH for Dart 7 | * Folder Setup in VS Code 8 | * Dart Extension for VS Code 9 | * Introduction to Dart 10 | * main Function 11 | * print Function 12 | * Run Dart Program in VS Code 13 | * Increase Font Size of Debug Console in VS Code 14 | * Comment in Dart 15 | * Variable 16 | * Printing Variable 17 | * Built-in Data Types 18 | * int 19 | * double 20 | * String 21 | * bool 22 | * var 23 | * Check Data Type 24 | * Arithmetic Operators 25 | * Increment and Decrement Operators 26 | * Equality and Relational Operators 27 | * Logical Operators 28 | * Type Test Operators 29 | * Assignment Operators 30 | * Conditional Expression 31 | * String 32 | * Multiline String 33 | * Expression inside String 34 | * String Concatenation 35 | * Raw String 36 | * String Properties and Methods 37 | * List 38 | * Fixed Length List 39 | * Growable List 40 | * Accessing List Elements 41 | * Insert List into Another List - Spread Operator 42 | * Empty List and add() Method 43 | * List Properties and Methods 44 | * Set 45 | * Empty Set 46 | * Add item to Set 47 | * Set Contains only Unique Values 48 | * Map 49 | * Map Literal 50 | * Empty Map 51 | * Add item to Map 52 | * Accessing Map Elements 53 | * Map Properties and Methods 54 | * if Statement 55 | * if... else... Statement 56 | * if... else if... else... Statement 57 | * for Loop 58 | * while Loop 59 | * do while Loop 60 | * for in Loop with List 61 | * for in Loop with Set 62 | * for in Loop with Map 63 | * forEach Loop with List 64 | * forEach Loop with Set 65 | * forEach Loop with Map 66 | * Break and Continue 67 | * Switch Case 68 | * Function 69 | * Function without Parameter 70 | * Function with Parameter 71 | * Positional Parameter 72 | * Optional Positional Parameter 73 | * Default Value Parameter 74 | * Named Parameter 75 | * Anonymous Function 76 | * Arrow Function 77 | * Class and Object 78 | * Instance Variable 79 | * Instance Method 80 | * Static Variable and Static Method 81 | * Constructor 82 | * Named Constructor 83 | * Inheritance 84 | * Single Inheritance 85 | * Multi-level Inheritance 86 | * Hierarchical Inheritance 87 | * Method Overriding 88 | * super Keyword 89 | * Abstract Class and Abstract Method 90 | * Implicit Interface 91 | * Exception Handling 92 | * Import 93 | * Import Packages 94 | * Import Name Conflicts 95 | * Import Specific Property 96 | * pub Dart Package Manager - https://pub.dev 97 | * stagehand - A Dart Project Generator - 98 | * Generate a Dart Project 99 | * Dart Official Doc - https://dart.dev/guides 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | -------------------------------------------------------------------------------- /bin/colors/black.dart: -------------------------------------------------------------------------------- 1 | class Black { 2 | disp() { 3 | print('Black Class from Black File'); 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /bin/colors/green.dart: -------------------------------------------------------------------------------- 1 | class Green { 2 | disp() { 3 | print('Green Class from Green File'); 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /bin/colors/main.dart: -------------------------------------------------------------------------------- 1 | import 'black.dart'; 2 | import 'green.dart'; 3 | 4 | void main() { 5 | var black_obj = Black(); 6 | black_obj.disp(); 7 | 8 | var green_obj = Green(); 9 | green_obj.disp(); 10 | } 11 | -------------------------------------------------------------------------------- /bin/gs1.dart: -------------------------------------------------------------------------------- 1 | void main() { 2 | // This is Single Line Comment 3 | /* 4 | This is 5 | Multiple 6 | Line Comment 7 | */ 8 | // print("Hello Dart"); 9 | 10 | // # Variable Name and Rules 11 | // ## Valid Variable Name 12 | // var name = "Sonam"; 13 | // var f_name = "Rahul"; 14 | // var address1 = "Ranchi"; 15 | // var $money = 100; 16 | 17 | // ## Invalid Variable Name 18 | // var 1person = "Sumit"; 19 | // var for = "Male"; 20 | 21 | // # Printing Variable 22 | // print(name); 23 | // print(f_name); 24 | // print(address1); 25 | // print($money); 26 | 27 | // Built-in-DataTypes 28 | // int cart_item = 10; 29 | // print(cart_item); 30 | 31 | // double price = 10.50; 32 | // print(price); 33 | 34 | // String city = "Ranchi"; 35 | // print(city); 36 | 37 | // bool is_completed = true; 38 | // print(is_completed); 39 | 40 | // bool is_login = false; 41 | // print(is_login); 42 | 43 | // var quantity = 100; 44 | // print(quantity); 45 | 46 | // var cost = 100.50; 47 | // print(cost); 48 | 49 | // var gender = "Male"; 50 | // print(gender); 51 | 52 | // var is_full = true; 53 | // print(is_full); 54 | 55 | // # Check Data Type 56 | // print(cart_item.runtimeType); 57 | // print(price.runtimeType); 58 | // print(city.runtimeType); 59 | // print(is_completed.runtimeType); 60 | // print(is_login.runtimeType); 61 | // print(quantity.runtimeType); 62 | // print(cost.runtimeType); 63 | // print(gender.runtimeType); 64 | // print(is_full.runtimeType); 65 | 66 | // # Operators 67 | // ## Arithmetic Operators 68 | // var a = 10; 69 | // var b = 20; 70 | // var c = 50; 71 | // var d = 3; 72 | 73 | // print(a + b); 74 | // print(c - a); 75 | // print(a * b); 76 | // print(a / d); 77 | // print(a ~/ d); 78 | // print(a % d); 79 | 80 | // ## Prefix and Postfix Increment and Decrement operators 81 | // var i = 3; 82 | // print(++i); 83 | // print(i++); 84 | // print(--i); 85 | // print(i--); 86 | 87 | // ## Equality and Relational operators 88 | // var a = 100; 89 | // var b = 200; 90 | // print(a == b); 91 | // print(a != b); 92 | // print(a > b); 93 | // print(a < b); 94 | // print(a >= b); 95 | // print(a <= b); 96 | 97 | // ## Logical Operators 98 | /* 99 | true && true = true 100 | true && false = false 101 | false && true = false 102 | false && false = false 103 | 104 | true || true = true 105 | true || false = true 106 | false || true = true 107 | false || false = false 108 | 109 | */ 110 | // var a = 100; 111 | // var b = 100; 112 | // var c = 200; 113 | // var d = 200; 114 | // print((a == b) && (c == d)); 115 | // print((a == b) || (c == d)); 116 | 117 | // ## Type Test Operators 118 | // var name = "Sonam"; 119 | // var number = 10; 120 | // print(name is String); 121 | // print(number is int); 122 | // print(number is! int); 123 | 124 | // ## Assignment Operators 125 | // var n = 10; 126 | // n += 5; // n = n + 5 127 | // n -= 5; // n = n - 5 128 | // n *= 5; // n = n * 5 129 | // print(n); 130 | 131 | // # Conditional Expression 132 | // var is_login = false; 133 | // var user = is_login ? 'Sonam' : 'Guest'; 134 | // print(user); 135 | 136 | // var name = 'Sonam'; 137 | // var name = null; 138 | // var user = name ?? 'Guest'; 139 | // print(user); 140 | 141 | // # String 142 | // String name1 = 'Sonam'; 143 | // print(name1); 144 | // print(name1.runtimeType); 145 | 146 | // String name2 = "Rahul"; 147 | // print(name2); 148 | 149 | // var name3 = 'Sumit'; 150 | // print(name3); 151 | // print(name3.runtimeType); 152 | 153 | // var name4 = "Sumit"; 154 | // print(name4); 155 | // print(name4.runtimeType); 156 | 157 | // var s1 = 'It\'s a Language'; 158 | // print(s1); 159 | 160 | // var s2 = "It's a Language"; 161 | // print(s2); 162 | 163 | // var mstr = '''This is 164 | // Multiline 165 | // String '''; 166 | // var mstr = """This is 167 | // Multiline 168 | // String """; 169 | // print(mstr); 170 | 171 | // ## Expression inside String 172 | // var name = 'Rahul'; 173 | // print('${name}'); 174 | // print('$name'); 175 | // print('My Name is ${name}'); 176 | // print('My Name is $name'); 177 | // print('My Name is ${name.toUpperCase()}'); 178 | // print('My Name is $name and I am good Boy'); 179 | // var city = "Ranchi"; 180 | // print('Hello My Name is $name I am from $city'); 181 | 182 | // ## String Concatenation 183 | // print('Hello Dart'); 184 | // print('Hello' + 'Sonam'); 185 | // print('Hello' + ' ' + 'Rahul'); 186 | // var s1 = 'Hello'; 187 | // var s2 = 'Sumit'; 188 | // print(s1 + s2); 189 | // print(s1 + ' ' + s2); 190 | // print(s1 + ' My Name is ' + s2); 191 | 192 | // ## Row String 193 | // var s = r'In a raw string, not even \n gets special treatment.'; 194 | // print(s); 195 | 196 | // ## String Properties and Methods 197 | // var name = 'Sonam'; 198 | // print(name.length); 199 | // print(name.isEmpty); 200 | // print(name.isNotEmpty); 201 | // print(name.toUpperCase()); 202 | // print(name.toLowerCase()); 203 | // print(name.contains('n')); 204 | // print(name.padLeft(10)); 205 | // print(name.padRight(10)); 206 | // var str1 = ' Hello '; 207 | // print(str1); 208 | // print(str1.trim()); 209 | // print(str1.trimLeft()); 210 | // print(str1.trimRight()); 211 | // var str2 = 'Hello&Dart'; 212 | // print(str2.split('&')); 213 | 214 | // # List 215 | // ## Fixed Length List 216 | // var lst = new List(3); 217 | // lst[0] = "Sonam"; 218 | // lst[1] = "Jay"; 219 | // lst[2] = 100; 220 | // print(lst); 221 | // print(lst[0]); 222 | // print(lst[1]); 223 | // print(lst[2]); 224 | // print(lst.runtimeType); 225 | 226 | // List lst = new List(3); 227 | // lst[0] = "Sonam"; 228 | // lst[1] = "Jay"; 229 | // lst[2] = "Sumit"; 230 | // print(lst); 231 | // print(lst[0]); 232 | // print(lst[1]); 233 | // print(lst[2]); 234 | // print(lst.runtimeType); 235 | 236 | // ## Growable List 237 | // var lst = ["Sonam", "Jay", "Sumit"]; 238 | // print(lst); 239 | // print(lst[0]); 240 | // print(lst[1]); 241 | // print(lst[2]); 242 | // print(lst.runtimeType); 243 | 244 | // var lst1 = [1, 2, 3, 4, 5]; 245 | // print(lst1); 246 | // print(lst1.runtimeType); 247 | 248 | // var lst2 = [1, 2, 3, 4, 'Hello']; 249 | // print(lst2); 250 | // print(lst2.runtimeType); 251 | 252 | // var lst3 = [1, 2, 3, 4]; 253 | // print(lst3); 254 | // print(lst3.runtimeType); 255 | 256 | // // ## Access List Element 257 | // var students = ["Sonam", "Jay", "Sumit"]; 258 | // print(students); 259 | // print(students[0]); 260 | // print(students[1]); 261 | // print(students[2]); 262 | // print(students.runtimeType); 263 | 264 | // ## Insert List into ANother List 265 | // Spread Operator 266 | // var women = ["Sonam", "Rani", "Shweta"]; 267 | // var men = ["Rahul", "Sumit"]; 268 | // var gabbarwithmen = ["Gabbar", ...men]; 269 | // print(gabbarwithmen); 270 | // var people = ["Gabbar", ...women, ...men]; 271 | // print(people); 272 | 273 | // ## Empty List and add() Method 274 | // List() Constructor 275 | // var student = new List(); 276 | // student.add("Sonam"); 277 | // student.add("Rahul"); 278 | // student.add("Jay"); 279 | // print(student); 280 | // print(student.runtimeType); 281 | 282 | // var employee = []; 283 | // employee.add("Sonam"); 284 | // employee.add("Rahul"); 285 | // print(employee); 286 | // print(employee.runtimeType); 287 | 288 | // ## List Properties and Methods 289 | // var student = ["Sonam", "Rahul", "Jay"]; 290 | // print(student); 291 | // print(student.length); 292 | // print(student.isEmpty); 293 | // print(student.isNotEmpty); 294 | // print(student.reversed); 295 | // print(student.first); 296 | // print(student.last); 297 | 298 | // student.remove('Sonam'); 299 | // print(student); 300 | 301 | // student.removeAt(1); 302 | // print(student); 303 | 304 | // student.removeLast(); 305 | // print(student); 306 | 307 | // # Set 308 | // var st1 = {'Sonam', 'Rahul', 'Sumit'}; 309 | // print(st1); 310 | // print(st1.runtimeType); 311 | 312 | // var st2 = {1, 2, 'Sonam', 'Rahul', 'Sumit'}; 313 | // print(st2); 314 | // print(st2.runtimeType); 315 | 316 | // var st3 = {'Sonam', 'Rahul', 'Sumit'}; 317 | // print(st3); 318 | // print(st3.runtimeType); 319 | 320 | // Set st4 = {'Sonam', 'Rahul', 'Sumit'}; 321 | // print(st4); 322 | // print(st4.runtimeType); 323 | 324 | // Set st5 = {'Sonam', 'Rahul', 'Sumit'}; 325 | // print(st5); 326 | // print(st5.runtimeType); 327 | 328 | // ## Empty Set 329 | // var st6 = {}; 330 | // print(st6); 331 | // print(st6.runtimeType); 332 | 333 | // var st7 = {}; // Its Map not Set 334 | // print(st7); 335 | // print(st7.runtimeType); 336 | 337 | // Set st8 = Set(); 338 | // print(st8); 339 | // print(st8.runtimeType); 340 | 341 | // Set st9 = {}; 342 | // print(st9); 343 | // print(st9.runtimeType); 344 | 345 | // ## Add item to Empty Set 346 | // var p = {}; 347 | // p.add("JavaScript"); 348 | // p.add("Dart"); 349 | // print(p); 350 | // print(p.runtimeType); 351 | 352 | // ## No Duplicate Value will be considered 353 | // var x = {1, 2, 3, 1, 2, 1}; 354 | // print(x); 355 | // print(x.runtimeType); 356 | 357 | // # Map 358 | // ## Map Literal 359 | // var address = {'name': 'Sonam', 'city': 'Ranchi', 'state': 'Jharkahnd'}; 360 | // Map address = { 361 | // 'name': 'Sonam', 362 | // 'city': 'Ranchi', 363 | // 'state': 'Jharkahnd' 364 | // }; 365 | // print(address); 366 | // print(address.runtimeType); 367 | 368 | // var product = {10: 'Mobile', 20: 'Laptop', 30: 'Keyboard'}; 369 | // print(product); 370 | // print(product.runtimeType); 371 | 372 | // var fees = {'Sonam': 100, 'Rahul': 200}; 373 | // print(fees); 374 | // print(fees.runtimeType); 375 | 376 | // ## Empty Map 377 | // Map() Constructor 378 | // var address = Map(); 379 | // print(address); 380 | // print(address.runtimeType); 381 | 382 | // Map address1 = Map(); 383 | // print(address1); 384 | // print(address1.runtimeType); 385 | 386 | // var address2 = {}; 387 | // print(address2); 388 | // print(address2.runtimeType); 389 | 390 | // ## Add item to Map 391 | // var address3 = {}; 392 | // address3['name'] = 'Sonam'; 393 | // address3['city'] = 'Ranchi'; 394 | // print(address3); 395 | // print(address3.runtimeType); 396 | 397 | // ## Access Map Elements 398 | // var address4 = {'name': 'Sonam', 'city': 'Ranchi', 'state': 'Jharkahnd'}; 399 | // print(address4); 400 | // print(address4['name']); 401 | // print(address4['city']); 402 | // print(address4['state']); 403 | 404 | // ## Map Properties and Methods 405 | // var address5 = {'name': 'Sonam', 'city': 'Ranchi', 'state': 'Jharkahnd'}; 406 | 407 | // print(address5.length); 408 | // print(address5.isEmpty); 409 | // print(address5.isNotEmpty); 410 | // print(address5.keys); 411 | // print(address5.values); 412 | // print(address5.containsKey('name')); 413 | // print(address5.containsValue('Rahul')); 414 | 415 | // # Control Flow Statements 416 | // ## if Statement 417 | // var is_login = true; 418 | // if (is_login) { 419 | // print("Welcome Sonam"); 420 | // } 421 | 422 | // var a = 20; 423 | // if (a == 10) { 424 | // print('Value of a is $a'); 425 | // } 426 | 427 | // ## if else Statement 428 | // var is_login = false; 429 | // if (is_login) { 430 | // print("Welcome Sonam"); 431 | // } else { 432 | // print("Welcome guest"); 433 | // } 434 | 435 | // var a = 20; 436 | // if (a == 10) { 437 | // print('Value of a is $a'); 438 | // } else { 439 | // print("Invalid Value"); 440 | // } 441 | 442 | // ## if... else if.... else.. Statement 443 | // var a = 50; 444 | // if (a == 10) { 445 | // print('Value of a is $a'); 446 | // } else if (a == 20) { 447 | // print('Value is $a'); 448 | // } else { 449 | // print("Invalid Value"); 450 | // } 451 | 452 | // # Loop 453 | // ## for Loop 454 | // var student = ['Sonam', 'Rahul', 'Sumit']; 455 | // for (var i = 0; i < student.length; i++) { 456 | // print(student[i]); 457 | // } 458 | 459 | // ## while Loop 460 | // var n = 1; 461 | // while (n <= 5) { 462 | // print('Number $n'); 463 | // n++; 464 | // } 465 | 466 | // var student = ['Sonam', 'Rahul', 'Sumit']; 467 | // var i = 0; 468 | // while (i < student.length) { 469 | // print(student[i]); 470 | // i++; 471 | // } 472 | 473 | // var is_fetching = true; 474 | // while (is_fetching) { 475 | // print("Data Fetching....."); 476 | // } 477 | 478 | // ## do-while Loop 479 | // var n = 1; 480 | // do { 481 | // print("Number $n"); 482 | // n++; 483 | // } while (n <= 3); 484 | 485 | // var is_fetching = true; 486 | // do { 487 | // print("Data Fetching....."); 488 | // } while (is_fetching); 489 | 490 | // ## for-in loop with List 491 | // var student = ['Sonam', 'Rahul', 'Sumit']; 492 | // for (var stu in student) { 493 | // print(stu); 494 | // } 495 | 496 | // ## for-in Loop with Set 497 | // var student = {'Sonam', 'Rahul', 'Sumit'}; 498 | // for (var stu in student) { 499 | // print(stu); 500 | // } 501 | 502 | // ## for-in Loop with Map 503 | // var address = {'name': 'Sonam', 'city': 'Ranchi', 'state': 'Jharkhand'}; 504 | // for (var key in address.keys) { 505 | // print(key); 506 | // } 507 | // for (var value in address.values) { 508 | // print(value); 509 | // } 510 | 511 | // ## forEach Loop with List 512 | // var student = ['Sonam', 'Rahul', 'Sumit']; 513 | // student.forEach((value) => print(value)); 514 | 515 | // var student = ['Sonam', 'Rahul', 'Sumit']; 516 | // student.asMap().forEach((i, value) => print('$i = $value')); 517 | 518 | // ## forEach loop with Set 519 | // var student = {'Sonam', 'Rahul', 'Sumit'}; 520 | // student.forEach((value) => print(value)); 521 | 522 | // ## forEach Loop with Map 523 | // var address = {'name': 'Sonam', 'city': 'Ranchi', 'state': 'Jharkhand'}; 524 | // address.forEach((key, value) => print('$key = $value')); 525 | 526 | // # Break and Continue 527 | // var is_fetching = true; 528 | // var n = 0; 529 | // while (is_fetching) { 530 | // n++; 531 | // if (n == 10) { 532 | // break; 533 | // } 534 | // print("Data Fetching.... $n"); 535 | // } 536 | 537 | // var is_fetching = true; 538 | // var n = 0; 539 | // while (is_fetching) { 540 | // n++; 541 | // if (n == 10) { 542 | // break; 543 | // } 544 | // if (n == 5) { 545 | // continue; 546 | // } 547 | // print("Data Fetching.... $n"); 548 | // } 549 | 550 | // # Switch and Case 551 | // var command = 'PENDING'; 552 | // switch (command) { 553 | // case 'CLOSED': 554 | // print('Complaint Ticket Closed'); 555 | // break; 556 | // case 'PENDING': 557 | // print('Complaint Ticket Pending'); 558 | // break; 559 | // case 'DENIED': 560 | // print('Complaint Ticket Denied'); 561 | // break; 562 | // case 'OPEN': 563 | // print('Complaint Ticket Open'); 564 | // break; 565 | // default: 566 | // print('InValid Complaint Ticket'); 567 | // } 568 | 569 | // # Function 570 | /* 571 | # Defining a Function 572 | returnType function_name(datatype parameter){ 573 | statements 574 | return statement 575 | } 576 | 577 | # Calling Function 578 | function_name() 579 | */ 580 | // ## Function without Parameter 581 | // myfun() { 582 | // print("Hello Dart"); 583 | // } 584 | 585 | // myfun(); 586 | 587 | // int addfun() { 588 | // int a = 10; 589 | // int b = 20; 590 | // return a + b; 591 | // } 592 | 593 | // var total = addfun(); 594 | // print(total); 595 | 596 | // ## Function with Parameter 597 | // ### Positional Parameter 598 | // int addfun(a, b) { 599 | // return a + b; 600 | // } 601 | 602 | // var total = addfun(10, 20); 603 | // print(total); 604 | 605 | // int addfun(int a, int b) { 606 | // return a + b; 607 | // } 608 | 609 | // var total = addfun(10, 20); 610 | // print(total); 611 | 612 | // ### Optional Positional Parameters 613 | // String introfun(String name, String city) { 614 | // return 'I am $name from $city'; 615 | // } 616 | 617 | // var info = introfun('Sonam', 'Ranchi'); 618 | // print(info); 619 | 620 | // String introfun(String name, [String city]) { 621 | // return 'I am $name from $city'; 622 | // } 623 | 624 | // var info = introfun('Sonam'); 625 | // print(info); 626 | 627 | // String introfun(String name, [String city]) { 628 | // if (city != null) { 629 | // return 'I am $name from $city'; 630 | // } 631 | // return 'I am $name'; 632 | // } 633 | 634 | // var info = introfun('Sonam'); 635 | // print(info); 636 | 637 | // ### Default Value Parameter 638 | // String introfun(String name, [String city = 'Dhanbad']) { 639 | // return 'I am $name from $city'; 640 | // } 641 | 642 | // var info = introfun('Sonam'); 643 | // print(info); 644 | 645 | // ### Named Parameter 646 | // addfun({a, b}) { 647 | // print('A = $a'); 648 | // print('B = $b'); 649 | // } 650 | 651 | // addfun(b: 10, a: 20); 652 | 653 | // addfun({int a, int b}) { 654 | // print('A = $a'); 655 | // print('B = $b'); 656 | // } 657 | 658 | // addfun(b: 10, a: 20); 659 | 660 | // addfun(x, {int a, int b}) { 661 | // print('A = $a'); 662 | // print('B = $b'); 663 | // print('X = $x'); 664 | // } 665 | 666 | // addfun("Sonam", b: 10, a: 20); 667 | 668 | // ## Anonymous Function 669 | // var student = ['Sonam', 'Rahul', 'Sumit']; 670 | // student.forEach((value) { 671 | // print(value); 672 | // }); 673 | 674 | // ## Arrow Function 675 | // var student = ['Sonam', 'Rahul', 'Sumit']; 676 | // student.forEach((value) => print(value)); 677 | } 678 | -------------------------------------------------------------------------------- /bin/gs10.dart: -------------------------------------------------------------------------------- 1 | // # Implicit Interface 2 | // class Class_name implements interface_name 3 | 4 | void main() { 5 | var obj = Daughter(); 6 | obj.disp(); 7 | } 8 | 9 | class Father { 10 | disp() { 11 | print('I am Father Class'); 12 | } 13 | } 14 | 15 | class Daughter implements Father { 16 | disp() { 17 | print('I am Daughter Class'); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /bin/gs11.dart: -------------------------------------------------------------------------------- 1 | // # Implicit Interface 2 | // class Class_name implements interface_name1, interface_name2, interface_name3, ...... 3 | 4 | void main() { 5 | var obj = Daughter(); 6 | obj.disp1(); 7 | obj.disp2(); 8 | } 9 | 10 | class Father { 11 | disp1() { 12 | print('I am Father Class'); 13 | } 14 | } 15 | 16 | class Mother { 17 | disp2() { 18 | print('I am Mother Class'); 19 | } 20 | } 21 | 22 | class Daughter implements Father, Mother { 23 | disp1() { 24 | print('I am Daughter Class 1'); 25 | } 26 | 27 | disp2() { 28 | print('I am Daughter Class 2'); 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /bin/gs12.dart: -------------------------------------------------------------------------------- 1 | // # Exception Handling 2 | void main() { 3 | // var result = 4 ~/ 0; 4 | // print(result); 5 | 6 | // ## try on 7 | try { 8 | var result = 4 ~/ 0; 9 | print(result); 10 | } on IntegerDivisionByZeroException { 11 | print('Can not Divide by Zero'); 12 | } 13 | 14 | // ## try catch 15 | // try { 16 | // var result = 4 ~/ 0; 17 | // print(result); 18 | // } catch (e) { 19 | // print(e); 20 | // } 21 | 22 | // ## try on catch 23 | // try { 24 | // var result = 4 ~/ 0; 25 | // print(result); 26 | // } on IntegerDivisionByZeroException catch (e) { 27 | // print(e); 28 | // } 29 | 30 | // ## try on catch 31 | // try { 32 | // var result = 4 ~/ 2; 33 | // print(result); 34 | // } on IntegerDivisionByZeroException catch (e) { 35 | // print(e); 36 | // } finally { 37 | // print('Finally Always Executes'); 38 | // } 39 | } 40 | -------------------------------------------------------------------------------- /bin/gs13.dart: -------------------------------------------------------------------------------- 1 | import 'colors/black.dart'; 2 | import 'colors/green.dart'; 3 | import 'dart:math'; 4 | 5 | void main() { 6 | var black_obj = Black(); 7 | black_obj.disp(); 8 | print(sqrt(49)); 9 | } 10 | -------------------------------------------------------------------------------- /bin/gs2.dart: -------------------------------------------------------------------------------- 1 | // # Class and Object 2 | /* 3 | class Class_name{ 4 | class Member 5 | } 6 | */ 7 | void main() { 8 | // Creating an Object 9 | var samsung = new Mobile(); // new is optional 10 | 11 | // Calling Instance Method using Object 12 | samsung.showModel("A 100"); 13 | 14 | // Creating an Object 15 | var lg = Mobile(); 16 | lg.showModel("L 200"); 17 | 18 | // Accessing Instance Variable using Object 19 | print(lg.ram); 20 | 21 | // Accessing Static Variable using Class Name 22 | print(Mobile.memory); 23 | 24 | // Calling Static Method using Class Name 25 | var total_memory = Mobile.addExtraMemory(8); 26 | print(total_memory); 27 | } 28 | 29 | class Mobile { 30 | // Instance Variable 31 | String model; 32 | int ram = 4; 33 | 34 | // Instance Method 35 | showModel(md) { 36 | model = md; 37 | print(model); 38 | } 39 | 40 | // Static Variable 41 | static int memory = 12; 42 | 43 | // Static Method 44 | static addExtraMemory(extra) { 45 | memory = memory + extra; 46 | return memory; 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /bin/gs3.dart: -------------------------------------------------------------------------------- 1 | // # Constructor 2 | /* 3 | Class_name(parameter){ 4 | constructor body 5 | } 6 | 7 | // Named Constructor 8 | Class_name.constructor_name(parameter){ 9 | 10 | } 11 | 12 | */ 13 | void main() { 14 | // Creating an Object 15 | var obj = Mobile("A 100", 4); 16 | 17 | // Calling Instance Method 18 | obj.show(); 19 | 20 | // Creating an Object - Named Constructor 21 | var obj1 = Mobile.memory(12); 22 | } 23 | 24 | class Mobile { 25 | // Instance Variable 26 | String model; 27 | int ram; 28 | 29 | // Constructor 30 | Mobile(m, r) { 31 | this.model = m; 32 | this.ram = r; 33 | print("Constructor Called"); 34 | } 35 | 36 | // Mobile(this.model, this.ram); 37 | 38 | // Instance Method 39 | show() { 40 | print(model); 41 | print(ram); 42 | } 43 | 44 | // Named Constructor 45 | Mobile.memory(int m) { 46 | print("Named Constructor Called"); 47 | print(m); 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /bin/gs4.dart: -------------------------------------------------------------------------------- 1 | // # Inheritance 2 | // ## Single Inheritance 3 | void main() { 4 | var obj = Son(); 5 | obj.getValue(1000); 6 | obj.disp(); 7 | } 8 | 9 | // Parent Class / Super Class 10 | class Father { 11 | int money; 12 | getValue(m) { 13 | money = m; 14 | } 15 | } 16 | 17 | // Child Class / Sub Class 18 | class Son extends Father { 19 | String car = "i 10"; 20 | disp() { 21 | print(car); 22 | print(money); 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /bin/gs5.dart: -------------------------------------------------------------------------------- 1 | // # Inheritance 2 | // ## Multi-Level Inheritance 3 | void main() { 4 | var obj = GrandSon(); 5 | obj.getValue(1000); 6 | obj.disp(); 7 | } 8 | 9 | // Parent Class 10 | class Father { 11 | int money; 12 | getValue(m) { 13 | money = m; 14 | } 15 | } 16 | 17 | // Child Class 18 | class Son extends Father { 19 | String car = "i 10"; 20 | int bank_balance = 5000; 21 | totalMoney() { 22 | return money + bank_balance; 23 | } 24 | } 25 | 26 | // GrandChild Class 27 | class GrandSon extends Son { 28 | String bike = "K6"; 29 | disp() { 30 | print(bike); 31 | print(car); 32 | print(totalMoney()); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /bin/gs6.dart: -------------------------------------------------------------------------------- 1 | // # Inheritance 2 | // ## Hierarchical Inheritance 3 | void main() { 4 | var s_obj = Son(); 5 | s_obj.getValue(1000); 6 | s_obj.disp(); 7 | 8 | var d_obj = Daughter(); 9 | d_obj.getValue(30000); 10 | d_obj.disp(); 11 | } 12 | 13 | // Parent Class 14 | class Father { 15 | int money; 16 | getValue(m) { 17 | money = m; 18 | } 19 | } 20 | 21 | // Child Class 22 | class Son extends Father { 23 | String car = 'i 10'; 24 | disp() { 25 | print(car); 26 | print(money); 27 | } 28 | } 29 | 30 | // Child Class 31 | class Daughter extends Father { 32 | String bike = 'K6'; 33 | disp() { 34 | print(bike); 35 | print(money); 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /bin/gs7.dart: -------------------------------------------------------------------------------- 1 | // # Overriding 2 | void main() { 3 | var obj = Son(); 4 | obj.disp(); 5 | obj.disp1("10", "20"); 6 | } 7 | 8 | // Super Class 9 | class Father { 10 | disp() { 11 | print('I am Super Class'); 12 | } 13 | 14 | disp1(String name, String city) { 15 | print('Name = $name and City = $city'); 16 | } 17 | } 18 | 19 | // Sub Class 20 | class Son extends Father { 21 | @override 22 | disp() { 23 | print('I am Sub Class'); 24 | } 25 | 26 | @override 27 | disp1(String a, String b) { 28 | print('A = $a and B = $b'); 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /bin/gs8.dart: -------------------------------------------------------------------------------- 1 | // # super Keyword 2 | void main() { 3 | var obj = Son(); 4 | obj.disp(); 5 | } 6 | 7 | // Super Class 8 | class Father { 9 | var money = 1000; 10 | disp() { 11 | print('I am Super Class'); 12 | } 13 | } 14 | 15 | // Sub Class 16 | class Son extends Father { 17 | var money = 2000; 18 | @override 19 | disp() { 20 | print('I am Sub Class'); 21 | print(money); 22 | print(super.money); 23 | super.disp(); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /bin/gs9.dart: -------------------------------------------------------------------------------- 1 | // # Abstract Class and Abstract Method 2 | 3 | void main() { 4 | var obj = Student(); 5 | obj.updateStudent(); 6 | } 7 | 8 | abstract class Teacher { 9 | // Define Concstructor 10 | // Variable 11 | // Methods 12 | updateStudent(); // Abstract Method 13 | } 14 | 15 | class Student extends Teacher { 16 | // Defining Abstract Method 17 | updateStudent() { 18 | print('I will Follow Official Doc'); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /bin/product/laptop.dart: -------------------------------------------------------------------------------- 1 | void samsung() { 2 | print('I am Samsung Laptop'); 3 | } 4 | -------------------------------------------------------------------------------- /bin/product/main.dart: -------------------------------------------------------------------------------- 1 | import 'mobile.dart'; 2 | import 'laptop.dart' as lapy; 3 | 4 | void main() { 5 | samsung(); 6 | lapy.samsung(); 7 | } 8 | -------------------------------------------------------------------------------- /bin/product/mobile.dart: -------------------------------------------------------------------------------- 1 | void samsung() { 2 | print('I am Samsung Mobile'); 3 | } 4 | -------------------------------------------------------------------------------- /bin/school/main.dart: -------------------------------------------------------------------------------- 1 | import 'students.dart' show sonam, disp1; 2 | 3 | void main() { 4 | print(sonam); 5 | disp1(); 6 | } 7 | 8 | // import 'students.dart' hide sumit, disp1; 9 | 10 | // void main() { 11 | // print(sonam); 12 | // print(rahul); 13 | // disp2(); 14 | // } 15 | -------------------------------------------------------------------------------- /bin/school/students.dart: -------------------------------------------------------------------------------- 1 | var sonam = 100; 2 | var rahul = 200; 3 | var sumit = 300; 4 | 5 | disp1() { 6 | print('Disp 1'); 7 | } 8 | 9 | disp2() { 10 | print('Disp 2'); 11 | } 12 | --------------------------------------------------------------------------------